Calling {body.getXXXXXX}from Simple EL taking > 200 ms

2016-10-07 Thread gilboy
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

2016-02-18 Thread gilboy
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

2016-02-18 Thread gilboy
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

2016-02-15 Thread gilboy
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

2016-02-14 Thread gilboy
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

2016-02-08 Thread gilboy
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

2015-12-10 Thread gilboy
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

2015-12-08 Thread gilboy
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

2015-08-27 Thread gilboy
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

2015-08-26 Thread gilboy
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

2015-08-26 Thread gilboy
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

2015-08-21 Thread gilboy
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

2015-05-27 Thread gilboy
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

2015-05-07 Thread gilboy
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

2015-05-06 Thread gilboy
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

2015-05-04 Thread gilboy
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

2015-04-29 Thread gilboy
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

2015-04-26 Thread gilboy
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

2015-04-01 Thread gilboy
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

2015-04-01 Thread gilboy
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

2015-03-09 Thread gilboy
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

2015-01-20 Thread gilboy
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

2015-01-19 Thread gilboy
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

2014-12-12 Thread gilboy
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

2014-11-03 Thread gilboy
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

2014-11-03 Thread gilboy
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

2014-11-02 Thread gilboy
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

2014-02-12 Thread gilboy
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

2014-02-04 Thread gilboy
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

2014-02-03 Thread gilboy
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

2014-02-03 Thread gilboy
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

2014-01-16 Thread gilboy
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

2014-01-08 Thread gilboy
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

2013-11-05 Thread gilboy
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

2013-10-16 Thread gilboy
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

2013-09-25 Thread gilboy
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

2013-07-22 Thread gilboy
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

2013-03-22 Thread gilboy
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

2013-03-15 Thread gilboy
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

2013-03-11 Thread gilboy
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

2013-03-08 Thread gilboy
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

2013-03-06 Thread gilboy
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

2013-03-05 Thread gilboy
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

2013-02-11 Thread gilboy
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

2013-02-05 Thread gilboy
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

2013-02-01 Thread gilboy
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

2013-01-28 Thread gilboy
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

2013-01-24 Thread gilboy
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

2013-01-14 Thread gilboy
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

2013-01-12 Thread gilboy
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

2013-01-11 Thread gilboy
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

2012-11-30 Thread gilboy
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

2012-11-30 Thread gilboy
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

2012-11-26 Thread gilboy
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

2012-11-10 Thread gilboy
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

2012-11-10 Thread gilboy
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

2012-10-18 Thread gilboy
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

2012-08-26 Thread gilboy
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

2012-08-20 Thread gilboy
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

2012-08-17 Thread gilboy
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

2012-08-03 Thread gilboy
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

2012-07-29 Thread gilboy
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

2012-07-29 Thread gilboy
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

2012-07-27 Thread gilboy
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

2012-07-25 Thread gilboy
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

2012-07-23 Thread gilboy
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

2012-07-20 Thread gilboy
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

2012-07-18 Thread gilboy
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

2012-07-05 Thread gilboy
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

2012-07-02 Thread gilboy
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

2012-07-02 Thread gilboy
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

2012-07-01 Thread gilboy
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

2012-07-01 Thread gilboy
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

2012-06-25 Thread gilboy
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

2012-06-15 Thread gilboy
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

2012-06-14 Thread gilboy
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

2012-06-13 Thread gilboy
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

2012-06-13 Thread gilboy
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

2012-06-11 Thread gilboy
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

2012-04-04 Thread gilboy
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.