Calling {body.getXXXXXX}from Simple EL taking > 200 ms
Hi I notice that when making method calls on the body using the Simple EL they are quite slow depending on the size of the object on the exchange, e.g. ${body.getXX} Is there anyway to speed this up? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Calling-body-getXX-from-Simple-EL-taking-200-ms-tp5788478.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Apache Camel EIP to process batch of messages identifying those which can be filtered
Thanks for the quick feedback. If I use the Idempotent Consumer EIP this would mean that the 2nd order (Order cancel) will be filtered out. However, I would want the new order to be filtered also. However, that would be sent to the counterparty with the Idempotent Consumer EIP Regards Joe -- View this message in context: http://camel.465427.n5.nabble.com/Apache-Camel-EIP-to-process-batch-of-messages-identifying-those-which-can-be-filtered-tp5777844p5777868.html Sent from the Camel - Users mailing list archive at Nabble.com.
Apache Camel EIP to process batch of messages identifying those which can be filtered
Hi My route calls a DB procedure which returns a large number of order objects. Before I send out the orders to a counterparty I want to examine the list of orders and see if the same order ID appears as both a new order and a cancel order, e.g. order 1001 returned as a new order and order 1001 returned as a cancel order. If I find any instances of the above I want to remove the order, i.e. not send 1001 out to counterparty. I looked at using the aggregator EIP but don't think its a great fit. Just wondering if there is another more suitable EIP that fits this use case Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Apache-Camel-EIP-to-process-batch-of-messages-identifying-those-which-can-be-filtered-tp5777844.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Query relating to the Rest Component
Thanks for the response Matt My camel based application is going to be deployed in to an existing apache tomcat container. Hence, I am thinking it probably makes more sense just to use the camel-servlet component and leverage its rest dsl support. However, would there be any any advantage of using the Restlet component which I am overlooking Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Query-relating-to-the-Rest-Component-tp526p569.html Sent from the Camel - Users mailing list archive at Nabble.com.
Query relating to the Rest Component
Hi Want to expose a new Rest Service. Looking at using: (1) Apache Restlet component or (2) Apache Rest component Obviously the restlet component leverages the restlet implementation to implement a rest API. Unclear what rest framework/implementation that the rest component is using Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Query-relating-to-the-Rest-Component-tp526.html Sent from the Camel - Users mailing list archive at Nabble.com.
Exposing rest service from camel application using existing http transport
Hi I am looking at using the Rest component to define a Rest endpoint. My camel application gets packaged as a WAR file which I deploy in to my standalone tomcat instance. I am not sure if I can bind this Rest endpoint to HTTP requests that arrive at the HTTP endpoint on my tomcat instance. In the documentation it looks like I need to use another camel component like camel-jetty or camel-servlet to manage the REST transport. However, I don't want to do this as I already have a http endpoint available in my tomcat instance Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Exposing-rest-service-from-camel-application-using-existing-http-transport-tp5777361.html Sent from the Camel - Users mailing list archive at Nabble.com.
BAM support across different application running in different CamelContext's
Hi I have a use case where I need to track an order from a front office system to middle and back office systems. The camel BAM module looks like a good fit. But unless I am mistaken it appears to assume that all the routes run within the same CamelContext. Does it support having the different routes deployed on different CamelContexts on different JVM's Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/BAM-support-across-different-application-running-in-different-CamelContext-s-tp5774966.html Sent from the Camel - Users mailing list archive at Nabble.com.
Outputting time to logs for route to process a message
Hi My route does some business processing - i.e. consumes messages from a topic, performs some business logic then sends message to a REST endpoint. After sending the message to the REST endpoint I have 1 final log statement to state the route is complete for this particular message. I would like to also output in this log statement the time it took to complete the processing of this message on this route. I guess there are many ways but was wondering what the simplest and least invasive is Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Outputting-time-to-logs-for-route-to-process-a-message-tp5774815.html Sent from the Camel - Users mailing list archive at Nabble.com.
Idempotent consumer query
Hi I have a use case were I want to process the same message on my route up to a maximum of 5 times. I understand the idempotent consumer can be used to ensure we don't process the same messages twice. Just wondering if there exists already something similar to the idempotent consumer were you can specify the max number of times you want to attempt to process the same message on a route Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Idempotent-consumer-query-tp5771004.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Getting JMSConsumer to look for messages every N seconds
Thanks for the feedback. So just to confirm if I have the following route and I want to consume a message every 30 seconds would I inject in to the route a RoutePolicy(e.g. SimpleScheduledRoutePolicy) where I specify the routeStartRepeatInterval(30 seconds). I feel like I am missing something. What shuts down the route etc from(jms:endpointDetails) .routeId(test) .routePolicy(policy) .to(mock:success); Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Getting-JMSConsumer-to-look-for-messages-every-N-seconds-tp5770986p5770997.html Sent from the Camel - Users mailing list archive at Nabble.com.
Getting JMSConsumer to look for messages every N seconds
Hi I have a use case where I want to take messages from a DLQ and place them back on to main/primary queue which feeds the application. I want to move the messages every 10 seconds. I have looked at the delayer EIP but I would prefer take them from the DLQ every 10 seconds rather than taking them as they become available and storing them in memory. Is there any way I can get my JMSConsumer to look for messages every 10 seconds Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Getting-JMSConsumer-to-look-for-messages-every-N-seconds-tp5770986.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Delayer EIP query
Hi If I have the following route: from(activemq:b).delay(1).to(mock:result); I understand that the message will be delayed 10 seconds before being delivered to mock:result. However, trying to understand does the message get taken from the queue and stored in memory until the 10 seconds has elapsed or does it wait 10 seconds before taking the message from the queue. Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Delayer-EIP-query-tp5770895.html Sent from the Camel - Users mailing list archive at Nabble.com.
Aggregator query
Hi I have a use case were I need to log details about aggregated messages that are sitting in the aggregator for more than 60 mins without satisfying completion criteria. I have checked the documentation and don't see any obvious way of doing this. Any suggestions much appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Aggregator-query-tp5767574.html Sent from the Camel - Users mailing list archive at Nabble.com.
Apache zookeeper component query
Hi My application needs to run hot/warm, i.e. 2 instances of the application running but routes running on one machine only. I am using the camel zookeeper component to solve this problem All works fine, when both instances of the application are starting up the 2nd instance outputs a big error message. When the 1st instance shuts down the routes on the 2nd instance correctly start to fire. Is there anyway I can prevent the error being output below. I don't see that it should be output as an error Thanks Joe 20150507 08:48:30,106 BST ERROR quartz.QuartzEndpoint [DefaultQuartzScheduler-Master Slave KT example Node 1_Worker-2] Error processing exchange. Exchange[Message: [Body is null]]. Caused by: [org.quartz.JobExecutionException - java.lang.IllegalStateException: Zookeeper based route policy prohibits processing exchanges, stopping route and failing the exchange] 20150507 08:48:30,108 BST INFO core.JobRunShell [DefaultQuartzScheduler-Master Slave KT example Node 1_Worker-2] Job DEFAULT.quartz-endpoint1 threw a JobExecutionException: org.quartz.JobExecutionException: java.lang.IllegalStateException: Zookeeper based route policy prohibits processing exchanges, stopping route and failing the exchange [See nested exception: java.lang.IllegalStateException: Zookeeper based route policy prohibits processing exchanges, stopping route and failing the exchange] at org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:125) at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:61) at org.quartz.core.JobRunShell.run(JobRunShell.java:223) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) Caused by: java.lang.IllegalStateException: Zookeeper based route policy prohibits processing exchanges, stopping route and failing the exchange etc -- View this message in context: http://camel.465427.n5.nabble.com/Apache-zookeeper-component-query-tp5766805.html Sent from the Camel - Users mailing list archive at Nabble.com.
Handling duplicate messages with aggreator
Hi I have the following use case. I receive in Order objects which all have an OrderId, ProductionId and ProductionCount. Hence, the productionId is my correlationExpression and the ProductionCount is the completionSize. This all works well. However, I may receive the same order twice(same OrderId twice). Hence, before adding anything to the AggregationRepository I would like to first check to see for the given correlationExpression(ProductionId) does the Order(OrderId) already exist. Is there support for this use case with the Aggregator? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Handling-duplicate-messages-with-aggreator-tp5766756.html Sent from the Camel - Users mailing list archive at Nabble.com.
Aggregator completionPredicate criteria question
Hi I am designing a system were the use of the aggregator is a good fit. First of all I need to use one of the Persistent AggregationRepository's. My concern with the approach is that I have certain edge cases were I may not receive all members of the group, e.g. I am grouping messages with a correlation indicator of PlacementId and I know I should receive N of these. However, if I receive N-1 of the messages and the Nth message is not received within a certain period, e.g. 60 minutes I would like the group to be created for just N-1 messages. Hence, I am wondering if I can use the completion timeout in conjunction with my custom completionPredicate Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Aggregator-completionPredicate-criteria-question-tp5766639.html Sent from the Camel - Users mailing list archive at Nabble.com.
Conditional based routing query
Hi I have a route which consumes messages from a JMS Queue. The type of messages being placed on the queue are JMSObjectMessage's. There are 2 different types of objects I may be sent - a Customer or a Supplier. In the route which consumes the message I would like to do some conditional based routing based on type type of object - Customer or Supplier. Is this possible? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Conditional-based-routing-query-tp5766514.html Sent from the Camel - Users mailing list archive at Nabble.com.
Enabling JMX on specific port when running junit test with CamelTestSupport
Hi My Junit test class extends: CamelTestSupport. I have overridden method *useJmx()* in my Junit test class to return true. When my junit test is running I can start up a JConsole session and examine routes etc. However, the JMX port on JConsole is different everytime I try to connect. I have been trying to set a specific port so I can always connect on the same port. However, I have not been able to do so. I have tried setting properties like: *org.apache.camel.jmx.rmiConnector.connectorPort=1* but its still appears to have a different port everytime I run the test Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Enabling-JMX-on-specific-port-when-running-junit-test-with-CamelTestSupport-tp5766343.html Sent from the Camel - Users mailing list archive at Nabble.com.
Calling NTLM protected service from camel cxf component
Hi I am having trouble calling an NTLM protected service from my route. When my route sends data to endpoint rsClient below it looks as if the conduit config is not applied. I see the following in the logs: 20150401 10:21:18,929 EDT DEBUG http.HTTPConduit [Camel (camel) thread #0 - JmsConsumer[OUTBOUND]] *No Trust Decider configured* for Conduit '{http://myserviceurl:20010/myservice}WebClient.http-conduit' 20150401 10:21:18,929 EDT DEBUG http.HTTPConduit [Camel (camel) thread #0 - JmsConsumer[OUTBOUND]] *No Auth Supplier configured* for Conduit '{http://myserviceurl:20010/myservice}WebClient.http-conduit' beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://camel.apache.org/schema/cxf; xmlns:context=http://www.springframework.org/schema/context; xmlns:http=http://cxf.apache.org/transports/http/configuration; xmlns:sec=http://cxf.apache.org/configuration/security; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd; http:conduit name=*.http-conduit http:client AllowChunking=false MaxRetransmits=11 Connection=Keep-Alive ReceiveTimeout=6 CacheControl=No-Cache / http:authorization sec:UserNameDomainName\\${user.username}/sec:UserName sec:Password${user.password}/sec:Password sec:AuthorizationNTLM/sec:Authorization /http:authorization /http:conduit cxf:rsClient id=rsClient address=${endpoint.url} serviceClass=com.myresouce.Resource loggingFeatureEnabled=true / /beans -- View this message in context: http://camel.465427.n5.nabble.com/Calling-NTLM-protected-service-from-camel-cxf-component-tp5765161.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Calling NTLM protected service from camel cxf component
Hi Surgey Thanks for the response. I am running on a tomcat instance on a linux server. The user is a windows user which is setup on our Windows Domain controller. I did try updating the http:authorization (within the http:conduit) element to include an AuthorizationType: http:authorization sec:UserNameDomainName\${tod.user.username}/sec:UserName sec:Password${user.password}/sec:Password *sec:AuthorizationTypeNegotiate/sec:AuthorizationType * sec:AuthorizationNTLM/sec:Authorization /http:authorization I am now getting the following exception: *java.lang.RuntimeException: No LoginModules configured for NTLM*. I am confused by this as I am only the client calling the NTLM protected service Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Calling-NTLM-protected-service-from-camel-cxf-component-tp5765161p5765179.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Using client_acknowledgement mode in route query
I am using camel spring DSL. Hence, not sure how I acknowledge the message myself -- View this message in context: http://camel.465427.n5.nabble.com/Using-client-acknowledgement-mode-in-route-query-tp5760618p5763863.html Sent from the Camel - Users mailing list archive at Nabble.com.
Issue setting property on the object which in the exchange body
Hi In my route, I have a header property on the exchange called age. In the body of the exchange I have a person object. I want to set the age property on the person object. If I do something like the following in my route and have the setAge property on the Person bean use the header annotation(e.g. setAge(@Header(age)Integer age)) the property will get correctly set. However, the setter message is void, hence the body on the exchange gets wiped. I can have the setter method return *this* but it feels wrong transform simple${body.setAge}/simple /transform Any other solution? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Issue-setting-property-on-the-object-which-in-the-exchange-body-tp5761960.html Sent from the Camel - Users mailing list archive at Nabble.com.
Using CXF endpoint to call an NTLM protected Rest service
Hi Its not clear to me from reading the camel cxf endpoint documentation whether I can call an NTLM protected Rest service using the CXF endpoint. Any help greatly appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Using-CXF-endpoint-to-call-an-NTLM-protected-Rest-service-tp5761873.html Sent from the Camel - Users mailing list archive at Nabble.com.
Using client_acknowledgement mode in route query
Hi I have a route which consumes a message of a queue, transforms it and and sends the transformed message to a REST endpoint. The JMS consumer is configured to use client_acknowledge mode. Hence, the message will not get de-queued until I get a successful response from the REST endpoint. The errorhandler on the route has a retry policy of 0. Will the route continually try to re-process the same message hence potentially blocking other messages on the queue from being consumed? If not, what will happen the message that was causing the problem. Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Using-client-acknowledgement-mode-in-route-query-tp5760618.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Master/Slave failover for camel routes
Unfortunately AMQ cluster,Zookeeper etc are not an option as I am constrained by internal approved tech stack. Joe -- View this message in context: http://camel.465427.n5.nabble.com/Master-Slave-failover-for-camel-routes-tp5758438p5758445.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Master/Slave failover for camel routes
Done a little more digging round this and I take if I invoke the following: *exchange.setProperty(Exchange.ROUTE_STOP, CustomFaultToleranceAPI.isInActive()); * From RoutePolicy.onExchangeBegin() this will ensure the exchange on the warm instance will not be processed and yet the route will stay active Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Master-Slave-failover-for-camel-routes-tp5758438p5758446.html Sent from the Camel - Users mailing list archive at Nabble.com.
Master/Slave failover for camel routes
Hi My camel routes are packaged in a war and deployed on a tomcat server. From a failover strategy perspective I want to run hot/warm - same war deployed on 2 different tomcat servers. We have an inhouse fault tolerance component(not a camel component) which identifies which tomcat instance is the master. Hence, there is an object in both JVMs which indicates whether that particular instance is hot or warm. In terms of integration with Camel I was intending on using the RoutePolicy. I was going to provide my own concrete implementation of this class which overrides the method onExchangeBegin. My implementation of this method would interrogate the object I mentioned earlier to determine if it is the hot or warm instance. When this method is invoked on the warm instance I obviously don't want to process the exchange. However, I don't want to suspend the route on the warm instance either. I would just like the route on the warm instance to ignore the exchange and not process it. I am not sure what the best way to do this is? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Master-Slave-failover-for-camel-routes-tp5758438.html Sent from the Camel - Users mailing list archive at Nabble.com.
Log component query
Hi Assume in my route I have the following line: to uri=quot;log:org.apache.camel.example?level=lt;bDEBUG*/ Now assume in my application that I have configured the category org.apache.camel.example to have a log level of *INFO*. Is it the case that it will only be in the route where logging for this category will be *DEBUG *and all logging for this category outside this route will have a log level of *INFO*? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Log-component-query-tp5747211.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: JMS Component Query
Thanks for the response I tried that, i.e. changed my domain object to not implement Serializable and set jmsMessageType=Object in the JMS Endpoint but I get the following error: javax.jms.MessageFormatException: No type converter available to convert from type: com.fmrco.ptd.domain.BlockVO to the required type: java.io.Serializable with value BlockVO Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/JMS-Component-Query-tp5746751p5746790.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel SEDA Queues performance query
Hi I have a route which returns messages from a DB call. It processes the messages and then places them on 2 different SEDA Queues. I have 2 additional routes which consumes the messages of the said queues and processes them. These 3 routes run very quickly( 10ms). However, I have a 4th route which transmits message to an external Rest Endpoint. I use a sticky loadbalancer with 10 seda queues to reduce the time to transmit the message. If the external Rest Endpoint performance begins to degrade the 3 routes mentioned in previous paragraph begin to degrade also. I am trying to understand why the poor performing external Rest Endpoint is resulting in poor performance in the 3 routes(1-3). I am wondering is it possible that the seda queues which are used in the loadbalancer for the transmission to the REST endpoint is sharing the same threadpool with the 3 routes above. Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-SEDA-Queues-performance-query-tp5746750.html Sent from the Camel - Users mailing list archive at Nabble.com.
JMS Component Query
Hi I have a route which is placing messages on to a JMS Queue. The JMS Message Type is ObjectMessage. Rather than having the IN Message Type implement Serializable is there any way in the DSL that I can specify the JMS Message Type. The object(IN Message Type) is a Domain Object and I would prefer not to have it implement Serializable Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/JMS-Component-Query-tp5746751.html Sent from the Camel - Users mailing list archive at Nabble.com.
Transaction spanning multiple routes separated by seda queue
Hi I have a route to consume a message from a JMS Topic, do some processing on it and then place on a SEDA Queue. My second route will consume the message from the SEDA queue and place on a different JMS Topic. I want to ensure that the message only gets de-queued from the first Topic which it has successfully been placed on the 2nd topic. Is this possible? Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Transaction-spanning-multiple-routes-separated-by-seda-queue-tp5746041.html Sent from the Camel - Users mailing list archive at Nabble.com.
Measuring time to make call to custom endpoint
Hi I have a simple route defined in the Spring DSL. route from:endpoint to:custom-endpoint log message=Time to make call to custom endpoint is / bean ref=bean-name method-name=method-name/ .. /route Basically, I would like to output the time taken to call the custom endpoint. Hence, I was thinking of adding the current time as a header before the call to the custom endpoint and then comparing this date with a new date after the call. However, I am struggling to do the Simple Expression language. Any suggestions much appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Measuring-time-to-make-call-to-custom-endpoint-tp5745754.html Sent from the Camel - Users mailing list archive at Nabble.com.
CXFRS Endpoint ignoring throwExceptionOnFailure property
Hi I am using the CXFRS Endpoint. I am using the following URI format: cxfrs://bean://rsCustodyClient?throwExceptionOnFailure=true My custody client bean looks like: cxf:rsClient id=rsCustodyClient address=http://localhost/service; serviceClass=com.mycompany.rs.client.CustodyTradeResource loggingFeatureEnabled=true / I am using camel 2.10.3 Any help much appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/CXFRS-Endpoint-ignoring-throwExceptionOnFailure-property-tp5742648.html Sent from the Camel - Users mailing list archive at Nabble.com.
API to determine the last time a route was successfully executed
Hi If I hook up a JMX console to my camel application I can see a number of MBeans which expose information like the last time a route was successfully executed. Can I get this same information from the camelContext, Route, RouteContext etc. I can't appear to find a similar method which I can call from within my application to get this information. Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/API-to-determine-the-last-time-a-route-was-successfully-executed-tp5741686.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Quartz Query
Hi I have a quartz job(stateful) which wakes up every 60 seconds, pulls unprocessed records from a DB and sends each of them to a Web Service Endpoint. The Web Service call introduces a latency of approx .5 sec. Each time the quartz job fires there can be 100's of unprocessed records. Hence, after retrieving the records I iterate over the records via the splitter and I load balance(sticky - need to maintain order across subsets of the records) to 10 different seda queues. I then have 10 different routes which takes from each of the queues, transmits the message to the web service endpoint and then updates the record to be in a processed state. However, with the above approach I could easily send duplicates to the web service endpoint because a record which is returned when the quartz job fires at time 0 could be sitting on one of the seda queues at time 60 when the quartz job fires again and hence it is still in an unprocessed state in the database as it only gets updated to processed when we get a response from the Web Service call. I could solve this by introducing a new interim status and have the DB update the unprocessed records to the new interim status but just wanted to check to see if there was any other way of solving this as I have less control over the DB Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Quartz-Query-tp5740206.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Leveraging CXF Asynchronous processing when MEP is InOut
Hi I also had the same query. Would be very interested to hear any response on this query Thanks -- View this message in context: http://camel.465427.n5.nabble.com/Leveraging-CXF-Asynchronous-processing-when-MEP-is-InOut-tp5735904p5736049.html Sent from the Camel - Users mailing list archive at Nabble.com.
Starting route defined in XML query
Hi I read somewhere in the past of a utility class provided by camel which you could use/call(e.g. from cmd prompt) to load a spring file which in turn would start up the xml defined routes. However, I cannot recall the name of it E.g. java org.apache...UtilityName spring-context.xml(which contains camel routes) Just wondering if anyone could provide Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Starting-route-defined-in-XML-query-tp5729706.html Sent from the Camel - Users mailing list archive at Nabble.com.
Transaction spanning multiple threads query
Hi I have 2 routes. The first route calls a DAO method which makes a change to an Oracle database table. When done it places the message on to a seda queue. My second route picks the message from the seda queue and invokes another DAO method resulting in another change to an oracle table. My query is, if I use the transaction syntax in my route will the transaction span multiple routes(hence multiple threads)? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Transaction-spanning-multiple-threads-query-tp5729268.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel quartz component query
Hi Assume I have a route which is using the quartz component(using the quartz database store). Is it possible at runtime to add new triggers. In other words, assume I have an ad-hoc route that I want to execute. If I configure this route to use the quartz component with the quartz database store. Can I now add ad-hoc new triggers to the database at runtime which will result in the route getting executed Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-quartz-component-query-tp5728942.html Sent from the Camel - Users mailing list archive at Nabble.com.
Calling a route which uses a quartz consumer via the producertemplate
Hi Assume I have the following route: *from(quartz..).to(...)* Now, assume I want to call this route out of the quartz schedule. I was hoping to be able to use the producertemplate. However, it looks like the quartz endpoint does not have a producer. Is there any other way I can invoke the above route in an ad-hoc type manner out of schedule Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Calling-a-route-which-uses-a-quartz-consumer-via-the-producertemplate-tp5728839.html Sent from the Camel - Users mailing list archive at Nabble.com.
Database driven quartz triggers to manage HA in application
Hi I am planning on deploying 2 instances of my application to a cluster. I want both instances to be running in a Hot mode. Within my application I have a number of routes which are driven by a quartz scheduler. I was planning on using the database driven triggers for the quartz component. From my understanding with the above approach, if one node fires the job, the others will not. If a node becomes offline, the job(s) should still get fired by one of the others. I just wanted to see if anybody else was using the above approach to solve HA problems Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Database-driven-quartz-triggers-to-manage-HA-in-application-tp5728700.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Cache Query
Hi Folks, If I have a route A which reads data from a dynamic source (data changes every x mins) and places it into a cache using the camel-cache component. I now have a route B that reads from the cache and sends the exchange to a bean where certain properties are set on the bean. Route B executes once. When the dynamic source changes and route A subsequently updates the cache, I am wondering will these changes be seen in the bean? Thanks, Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cache-Query-tp5728574.html Sent from the Camel - Users mailing list archive at Nabble.com.
Splitter and Aggregator Query
Hi If I am using the aggregator EIP in conjunction with the Splitter EIP do I have to specify a completion condition. In my case, when I split I don't know how many messages I am splitting. After splitting I need to aggregate all the messages again. Hence, unclear which completion condition I can use Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Splitter-and-Aggregator-Query-tp5727361.html Sent from the Camel - Users mailing list archive at Nabble.com.
Client acknowledgement support of Camel JMS component
Hi It appears using the client ack mode of the JMS component that the message will get de-queued if the route which consumes the message completes without throwing an exception. In my use case, my route consumes messages from a JMS topic and aggregates them using the aggregator EIP with a completion condition of 10 mins. I only want to dequeue the messages from the topic after the aggregator has met the completion condition. Can I do this without throwing fake exceptions Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Client-acknowledgement-support-of-Camel-JMS-component-tp5726961.html Sent from the Camel - Users mailing list archive at Nabble.com.
JMS consumer aggregating messages and delivering to sub-system in batch mode
Hi I have a use case were I receive messages from a subsystem via a JMS topic. My applications needs to enrich these messages, aggregate them together and deliver them to another system via file based integration every 15 mins. I was thinking of using the aggregation eip and having the aggregation condition to be every 15 mins. My concern with this approach is that I may run our of resources (e.g. memory). Streaming is not an option either. Hence, I was wondering if it is possible to have the JMS consumer run every 15 mins also Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/JMS-consumer-aggregating-messages-and-delivering-to-sub-system-in-batch-mode-tp5726793.html Sent from the Camel - Users mailing list archive at Nabble.com.
Exception policies query
Hi If I have an onException policy and I do *not *set the handled property to true then Camel will not break out of the route. If I have an onException policy and I set the continued property to true, Camel will not break out of the the original route either. So what is the difference between the above as I assume I am missing something? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Exception-policies-query-tp5726405.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Splitter EIP query
Thanks for the response. Yes I was planning on configuring quartz to be stateful. However, even if I configure it to be stateful I am assuming once I hit the splitter(assume message contains a list of objects) with parallelprocessing enabled the quartz thread will complete before the threadpool behind the splitter has completed all the tasks. I am wondering if I can get the quartz thread to wait until all the threads in the splitter have completed their tasks Thanks -- View this message in context: http://camel.465427.n5.nabble.com/Splitter-EIP-query-tp5726095p5726137.html Sent from the Camel - Users mailing list archive at Nabble.com.
ProducerTemplate Query
Hi Assume I use the producerTemplate to send an exchange to an endpoint(seda). Sending messages to this endpoint triggers a camel route which sends a message to a web service, e.g. Client code: Exchange response = producerTemplate.send(seda:testSeda ExchangePattern.InOut, MyProcessor()) Route: from(seda:testSeda).to(cxf:serviceDetails); Now the producer is sending an exchange with a MEP of InOut. However, when the route gets fired the SEDA consumer creates an Exchange with a MEP of InOnly. Hence, it is unclear to me as to whether the result from the call to the Web service will get returned to the client. From the diagram on this page I am thinking the response from the web service will not get returned: http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html Thanks -- View this message in context: http://camel.465427.n5.nabble.com/ProducerTemplate-Query-tp5725534.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MEP Query
Thanks for the response. Sorry - 1 other question on this. If my route looks like: *from(endpoint1).to(endpoint2).to(endpoint3).to(endpoint4) * Assume the consumer for endpoint1 sets the MEP to InOut. If endpoint4 is a file endpoint what gets returned to the producer, i.e. the file endpoint only supports InOnly. Would it be the response from endpoint3? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/MEP-Query-tp5725428p5725476.html Sent from the Camel - Users mailing list archive at Nabble.com.
MEP Query
Hi Assume I have the following route: *from(endpoint1).to(endpoint2).to(endpoint3).to(endpoint4) * What dictates the MEP on the exchange. Is it the consumer for endpoint1 since it creates the exchange? Or can the MEP change throughout the route, e.g. could the producer for endpoint3 change the MEP? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/MEP-Query-tp5725428.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: JMX attribute - Number of failures handled
Thanks If my route has an error handler with a retry attempt policy of 5 and a recoverable error is thrown in the route and on the 2nd attempt it is successful should the number of failures handled be incremented in this instance? Furthermore, if in the same route an error occurs and after the retry attempts of 5 has been exhausted while still throwing the error - should the number of failures be incremented in this instance? Joe -- View this message in context: http://camel.465427.n5.nabble.com/JMX-attribute-Number-of-failures-handled-tp5723159p5723452.html Sent from the Camel - Users mailing list archive at Nabble.com.
Singleton Endpoint Question
Hi If an endpoint is defined to be a singleton and you have 2 camel routes both referencing the same endpoint URI, will camel call endpoint.createConsumer() once or twice? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Singleton-Endpoint-Question-tp5723464.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: JMX attribute - Number of failures handled
Thanks Assume an exception happens in my route and i have an error handler which places the message on a queue. In this instance would the *failures handled* increase or does it only increment via onException ()..handled(true).. syntax? Joe -- View this message in context: http://camel.465427.n5.nabble.com/JMX-attribute-Number-of-failures-handled-tp5723159p5723259.html Sent from the Camel - Users mailing list archive at Nabble.com.
Wiretap query
Hi When I read documentation regarding the wiretap EIP it always looks like a copy of the exchange is sent to another endpoint in a different thread. Is it valid for me to wiretap and send to a number of endpoints sequentially? E.g. from(direct:start) .to(log:foo) .wireTap(bean:bean1).*to(bean:bean2).to(bean:bean3).to(bean:bean4)* .to(mock:result); Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Wiretap-query-tp5722510.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel type converter query
Hi I am trying to create a type converter that converts from a string to a domain object(Customer). The string is in the body of the in message of the exchange but I also need certain properties from the exchange to do the conversion Obviously the body of the in message(string in my case) of the exchange is available to the type converter but can I get a reference to the exchange to get the properties needed for the conversion? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-type-converter-query-tp5722514.html Sent from the Camel - Users mailing list archive at Nabble.com.
Managing high availability with Camel
Hi I have an application which I need to have running in a cluster running primary/seconday(active/inactive) mode. When each instance of the application (A B) starts up it connects to a proprietary application we have internally requesting to be primary. Hence, if A asks to be primary before B a JMX callback will be made back to A to indicate it is primary. In this instance, node B will be secondary. In A I would like to have all routes active. In B I would like to have all routes inactive/suspended. My original plan was to set all my routes (either in Spring or Java DSL) to have AutoStartup disabled, then call camelcontext.resume() on A (in this example). However, calling context.resume() will not start routes that had AutoStartup disabled, right? Hence, no routes start. Any ideas? Please note, I can only invoke the camel JMX API as it has to be a generic non-intrunsive solution as is going to be using in a number of different applications that sit on camel Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Managing-high-availability-with-Camel-tp5721254.html Sent from the Camel - Users mailing list archive at Nabble.com.
Shutting down my Camel Application
Hi I have a standalone application which embeds Camel. Most of the development is complete at this point and I have started to think about how best to manage the starting and stopping of the application. The application will needs to be stopped and started each day. I need to use a scheduler tool(Autosys) to invoke a script to stop and start my application. I have taken a look at the *enableHangUpSupport *provided in the *org.apache.camel.spring.Main*. Providing the script to start my application will be easy. However, little confused on the best way to shut it down. As far as I can see I have 2 options: (1) The script invokes a Java class which invokes a JMX call on an MBean I expose in my application which in turn invokes the stop method on org.apache.camel.spring.Main (2) Do a hard stop(kill -9) on the process ID for the JVM (my application runs on linux). Not sure if this will result in a graceful shutdown of the application? Any information on this area would be extremely appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Shutting-down-my-Camel-Application-tp5718097.html Sent from the Camel - Users mailing list archive at Nabble.com.
Content Based Router Query
Hi The content based router does not appear to support the routing of a message to a particular destination based on a call to an external API. The examples I have looked at appear to support the routing of messages to a destination based on the message content. In a nutshell, I want to use a Content Based Router were the destination is determined by making a call to an API. In other words, the API will return PATH1, PATH2 etc which map to different destinations Any help much appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Content-Based-Router-Query-tp5717722.html Sent from the Camel - Users mailing list archive at Nabble.com.
Custom Component Query
Hi I have a custom component which has a ScheduledPollConsumer. The custom component pushes and consumes messages to/from a vendor product via a proprietary network API which the vendor has provided. If I have a network failure my consumer picks up on this straight away as it is polling a network connection. When the network failure does occur my consumer tries to correct itself by re-establishing connectivity. If the connectivity is not restored after N attempts the consumers stops itself. If there is a network related issue and the consumer is trying to correct itself, it is very possible during this time that my producer for this endpoint will be invoked. It will obviously also fail if there is a network connectivity issue. The producer will be referenced in a different route to the consumer. I am wondering how best to handle this. Should I try to suspend any route that references the effected endpoint during the period in which I am attempting to re-establish connectivity and then subsequently stop the effected routes if I cannot re-establish connectivity? Presently I am just stopping the consumer for the efffected endpoint Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Custom-Component-Query-tp5717603.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Exception handling in consumer for a custom endpoint
Hi Christian Thanks for the response. As rgds #2, I took a look at the ScheduledPollConsumer code like you said. If an exception occurs while calling the poll() method it appears to invoke PollingConsumerPollStrategy.rollback() to determine if we should call the invoke method again. However, in the rollback() method it does appear to use the retryCounter to determine if we should continue polling Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Exception-handling-in-consumer-for-a-custom-endpoint-tp5716588p5716749.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Dynamic generation of Camel routes
Hi Folks Thanks for all the helpful responses on this item. Basically, I followed an approach similar to what Pontus outlined above. However, I have noted some strange behavior. When my application has started up the routes get added as follows: *context.addRoutes(new RouteBuilder().* After this I get a reference to all the routes on the context and call (for all of my routes): *camelContext.startRoute(routeid) * ..to ensure all the routes get started. I am typically creating about 25 routes dynamically. However, I notice that the *first *route that gets started always seems to fail while the reset of them run fine: *20120727 18:51:38,598 IST INFO impl.DefaultShutdownStrategy [Thread-4] Starting to graceful shutdown 1 routes (timeout 300 seconds)* I have tried debugging with no success. I have increased debug levels etc but am not getting any information that can help me determine why the first route always gets shut down Any help/suggestions greatly appreciated Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Dynamic-generation-of-Camel-routes-tp5716223p5716587.html Sent from the Camel - Users mailing list archive at Nabble.com.
Exception handling in consumer for a custom endpoint
Hi I have a custom endpoint/component. The consumer is a scheduledpollconsumer. I had a quick question on the behaviour of the *doStart() *and *poll() *methods which I implement in my consumer. Basically, the implementation of these 2 methods which I have provided in my consumer do quite a bit of processing. Hence, I was trying to confirm how camel will behave if an exception occurs in my doStart() or poll() methods which I do not handle. In other words, I am trying to understand how the core camel code will behave if an unhandled exception is passed back from either my doStart() or poll() method? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Exception-handling-in-consumer-for-a-custom-endpoint-tp5716588.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel JMX Component query
Hi I need to interact with a vendor product which exposes a number of readable mbean attributes. Unfortunatly, no notifications exist for these attributes. I need to poll these managed attributes every 2 mins to see if any have updated. Since the JMX component does not appear to support polling I was planning on writing my own custom component which has a scheduledpoll consumer which runs every 2 mins and has an MBeanServerConnection and just queries the attribute of interest and forwards to a processor. This is what I was planning on doing. However, just wanted to check as it seems a little strange that I am not using the JMX component with camel as it only appears to support notifications Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-JMX-Component-query-tp5716558.html Sent from the Camel - Users mailing list archive at Nabble.com.
Exception handling in consumer of my custom component
Hi Assume I have a route which goes: *from(custom:component).process().to()..etc* Lets also assume I have an exception/error/retry policy set on this route. In my custom component consumer I need to invoke something like: * Exchange exchange = endpoint.createExchange(); exchange.getIn().setBody(socketMessage.getAsString()); getProcessor().process(exchange); * Now the call to process requires me to catch an exception. However, I want exceptions to be handled via the exception handling policy defined in the route. In other words, I don't want my consumer to have to implement exception handling logic. Just wondering how I can get round this Thanks -- View this message in context: http://camel.465427.n5.nabble.com/Exception-handling-in-consumer-of-my-custom-component-tp5716479.html Sent from the Camel - Users mailing list archive at Nabble.com.
Multicast and Aggregator V AKKA
Hi In my application I have 4 web service calls I need to make in a process flow which can be made in parallel.The obvious approach in solving this to me was just to use a multicast and have results aggregated together using the aggregator EIP support. Since I have been hearing much about akka lately, I am trying to understand what benefits there would be if I went the akka route(having an actor for each of the service calls) rather than going the multicast and aggregator approach. I don't see any advantages. Help much appreciated on this as I am sure I must be missing something Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Multicast-and-Aggregator-V-AKKA-tp5716331.html Sent from the Camel - Users mailing list archive at Nabble.com.
Custom component query
Hi I need to create an event driven custom component. The sender which invokes the event driven consumer is a spring managed bean. My custom component consumer is not spring managed as this is obviously created from my endpoint which acts as a factory for my producers and consumers. Hence, I am a little confused as to how the sender gets wired up to the consumer as one is created via spring(sender) and the consumer is created via my custom endpoint Thanks! -- View this message in context: http://camel.465427.n5.nabble.com/Custom-component-query-tp5716302.html Sent from the Camel - Users mailing list archive at Nabble.com.
Dynamic generation of Camel routes
Hi I am working on an application were we need to build camel routes dynamically based on route configuration rules stored in a remote configuration store. My application makes a call to the configuration store, determines how many routes need to be built, retrieves the endpoint parameters and creates the routes etc Just wondering if their is any patterns/best practise for this type of problem Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Dynamic-generation-of-Camel-routes-tp5716223.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Testing a Route which de-queues message from Topic in CLIENT_ACKNOWLEDGE mode
Hi Folks It was also unclear to me how to ensure that the message was de-queued or not. Ideally, after starting up the broker service in my junit test I would like to put a message on to the queue and then verify I have successfully de-queued the message at the end of my testcase by ensuring the size of the queue is *0*. Again, when testing a flow in my route which should *not *dequeue the message I would like to put a message on to the queue and then verify the message has not been de-queued by verifying that the size of the queue is *1* However, I cannot figure out how to determine the size of the queue. Thanks! -- View this message in context: http://camel.465427.n5.nabble.com/Testing-a-Route-which-de-queues-message-from-Topic-in-CLIENT-ACKNOWLEDGE-mode-tp5715361p5715553.html Sent from the Camel - Users mailing list archive at Nabble.com.
Testing a Route which de-queues message from Topic in CLIENT_ACKNOWLEDGE mode
Hi I have a route where I consume a message from a JMS topic and do some processing of the message. I have the JMS Ack mode set to: CLIENT_ACKNOWLEDGE mode If the route successfully completes the message is dequeued. I want to verify that this takes place, i.e. message gets dequeued. Does the camel junit extensions support verifying that the message has been de-queued? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/Testing-a-Route-which-de-queues-message-from-Topic-in-CLIENT-ACKNOWLEDGE-mode-tp5715361.html Sent from the Camel - Users mailing list archive at Nabble.com.
Using advicewith to add interceptors to an existing route
Hi When I use the intercept feature below, is it legal to use wildchar's in the endpoint? Thanks Joe @Test public void testSimulateErrorUsingInterceptors() throws Exception { RouteDefinition route = context.getRouteDefinitions().get(0); route.adviceWith(context, new RouteBuilder() { public void configure() throws Exception { interceptSendToEndpoint(*jms:**) .skipSendToOriginalEndpoint() .. .. } }); -- View this message in context: http://camel.465427.n5.nabble.com/Using-advicewith-to-add-interceptors-to-an-existing-route-tp5715363.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: SEDA Request Reply
Hi So if I have the following 2 routes: from(SomeEndpoint).to(seda:endpoint); from(seda:endpoint.to(SomeOtherpoint); I have not specified the exchange pattern for the SEDA endpoint. Hence, does it default to something? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/SEDA-Request-Reply-tp5715275p5715326.html Sent from the Camel - Users mailing list archive at Nabble.com.
Unit testing of an existing RouteBuilder class
Hi I was reading how camel supports unit testing of an existing RouteBuilder class. I think this is very useful as I don't want to have to duplicate the route in the unit test. However, suppose the route defined in the existing RouteBuilder class contains an endpoint that I need to mock. Is there anyway after loading the route in the unit test class that I can replace the endpoint that needs to be mocked? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/Unit-testing-of-an-existing-RouteBuilder-class-tp5715327.html Sent from the Camel - Users mailing list archive at Nabble.com.
SEDA Query
Hi Assume I am consuming a message from a SEDA endpoint. Does the SEDA consumer support acknowledements to dequeue the message or is the message gone from the queue once my consumer gets it Thanks -- View this message in context: http://camel.465427.n5.nabble.com/SEDA-Query-tp5715082.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Component - Consumer Threading Question
Thanks for the response. I was just thinking about this a little further. If an exception occurs in my consumer, I really just need to restart the consumer not the whole route. If I take this approach, i.e. class CustomConsumer extends DefaultConsumer implements Runnable{ .. public void run(){ try{ } catch (Exception exc){ doStop(); doStart(); } . } By only restarting the consumer I will not need to worry about inflight exchanges, right? Is it bad practise to restart a consumer in isolation? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Component-Consumer-Threading-Question-tp5714233p5714559.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Component - Consumer Threading Question
Thanks again 1 final question on this. If an exception occurs in the run method of the consumer, I want the endpoint, producer and consumer to be re-started. I was thinking of handling this as follows: class CustomConsumer extends DefaultConsumer implements Runnable{ .. public void run(){ try{ } catch (Exception exc){ getCamelContext().stopRoute(routeName); getCamelContext().startRoute(routeName); } . } However, from the documentation it says I need to call getCamelContext().getInflightRepository().remove(Exchange) before calling getCamext().stopRoute(routeName). Unfortunately, in the consumer I do not have access to the Exchange object, i.e. I can only create a new Exchange object. Any suggestions? My custom component is a singleton and its referenced in different routes Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Component-Consumer-Threading-Question-tp5714233p5714489.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Component - Consumer Threading Question
Thanks for your input on this thread Claus. Just to confirm I understand you correctly, the Consumer would look something like: /class CustomConsumer extends DefaultConsumer implements Runnable{ ExecutorService service; CustomConsumer(EndPoint endPoint, Processor processor){ super(endPoint, processor); } protected void doStart() throws Exception{ super.doStart(); executor = getCamelContext().getExecutorServiceManager() .newFixedThreadPool(this, ConsumerThread, 1) executor.execute(this); } public void run(){ //Do Processing } }/ -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Component-Consumer-Threading-Question-tp5714233p5714452.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Lifecycle question
Hi I have a custom endpoint which has both a consumer and a producer. When a new instance of the endpoint and its producer and consumer is created I want to perform a particular action. I am trying to determine if there is any callback method on the endpoint, consumer and producer which might indicate this state has been reached. From debugging through the code I see the doStart() methods invoked in the following flow: (1) Endpoint.doStart() (2) Producer.doStart() (3) Consumer.doStart() Hence, I am thinking I could invoke the action in the Consumer.doStart() method. Am I guaranteed that the Consumer.doStart() will always be invoked after the Producer.doStart()? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Lifecycle-question-tp5714458.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Custom Camel Component instantiated twice
So if there can be multiple Consumer Producer instances in a given context (one per route reference), this would imply that there could be multiple instance of the Endpoint(again one per route reference)? I have a custom component where I need to share state between the producer and the consumer for the same endpoint across different routes. Is this possible? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Custom-Camel-Component-instantiated-twice-tp5714297p5714304.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Monitoring Tool
Hi We are planning on using Camel for a large scale, real-time, critical system. We are investigating which tools (opensource and vendor) are available to view the usage patterns of our routes - volumes of messages etc, identify bottlenecks in our routes etc Just wondering if anybody could recommend any tools? Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Monitoring-Tool-tp5618301p5618301.html Sent from the Camel - Users mailing list archive at Nabble.com.