Re: Acknowledgement to JMS Topic on activemq
You can use transacted acknowledge mode with the camel-jms component. Just set transacted=true, and setup the TX stuff. http://camel.apache.org/jms http://camel.apache.org/transactional-client.html Mind that camel-jms only supports one message at a time, eg consume one message in a TX. The other camel-sjms has some support for batch consuming, but this component is not as hardened as the camel-jms one. On Tue, Dec 17, 2013 at 5:06 PM, Sri sri.tec...@googlemail.com wrote: Hi All, I am consuming message from a topic and wanted send it to SOLR server as a batch for a commit as committing on SOLR is expensive operation. How ever I wanted to keep the message on the topic till the commit operation completes successfully. I want to send successful acknowledgement in that case otherwise no acknowledgement. I am using aggregator for batching the messages how ever I couldn't get any hold acknowledgement. Aggregator sends successful acknowledgement as soon as it reads from the topic. I do not want to loose any messages if by any chance SOLR doesn't commit successfully. Your help will be much appreciated. Thanks Sri -- View this message in context: http://camel.465427.n5.nabble.com/Acknowledgement-to-JMS-Topic-on-activemq-tp5744954.html Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen - Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen Make your Camel applications look hawt, try: http://hawt.io
Re: Soap Fault Unmarshal
Yes sure, I've changed the original names. When cxf:bean:myServiceEndpoint is called for some conditions, it returns soap:fault message. I handle this with checking whether the message contains faultstring or not. It's not a good solution for me. How can i find out whether it has soap:fault or not with camel? Is there a better way of doing this? Also if there is a fault message, how can i marshall it to an object? camel:route id=myRoute startupOrder=9 camel:from uri=direct:route1 / camel:doTry camel:to uri=direct:route2 / camel:choice camel:when camel:simple resultType=java.lang.String${property.destination} == 'X'/camel:simple camel:unmarshal camel:soapjaxb contextPath=com.test.a.b elementNameStrategyRef=objectTypeStrategy / /camel:unmarshal camel:bean ref=reservationProcessor method=createReservation / camel:bean ref=reservationProcessor method=savePreRezervasyon / camel:marshal camel:soapjaxb contextPath=com.test.a.b elementNameStrategyRef=objectTypeStrategy / /camel:marshal /camel:when camel:when camel:simple resultType=java.lang.String${property.destination} == 'Y'/camel:simple camel:to uri=cxf:bean:myServiceEndpoint / camel:convertBodyTo type=java.lang.String / camel:choice camel:when camel:simple${in.body} contains 'faultcode' or ${in.body} contains 'faultstring'/camel:simple /camel:when camel:otherwise camel:unmarshal camel:soapjaxb contextPath=com.test.a.b elementNameStrategyRef=objectTypeStrategy / /camel:unmarshal camel:bean ref=reservationProcessor method=savePreRezervasyon / camel:marshal camel:soapjaxb contextPath=com.test.a.b elementNameStrategyRef=objectTypeStrategy / /camel:marshal /camel:otherwise /camel:choice /camel:when /camel:choice camel:doCatch camel:exceptionjava.lang.Exception/camel:exception camel:to uri=direct:handleException / /camel:doCatch /camel:doTry camel:convertBodyTo type=java.lang.String / /camel:route -- View this message in context: http://camel.465427.n5.nabble.com/Soap-Fault-Unmarshal-tp5744949p5744983.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: different context
Hi all, Could you please tell me if there are performance issues using vm component to connect 2 camel context? Is there any specific documentation about it. Thanks in advance, Matteo. On 15 Dec 2013 01:07, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Robert, I know that article, it is part of camel in action book that i have read. The problem is that he use scala api, and it is different and poorer than java api. On 14 Dec 2013 16:37, kraythe . kray...@gmail.com wrote: Try out this article: https://weblogs.java.net/blog/manningpubs/archive/2013/02/13/akka-and-camel You can init the Akka Camel context with spring and get the best of both worlds. *Robert Simmons Jr. MSc. - Lead Java Architect @ EA* *Author of: Hardcore Java (2003) and Maintainable Java (2012)* *LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39 http://www.linkedin.com/pub/robert-simmons/40/852/a39* On Sat, Dec 14, 2013 at 4:52 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Claus, I am talking about this issue with Akka community in their mailing list, I am waiting an answer. In the mean time I am trying to figure out my solution to the issue. However, regarding to manage 2 different camel contexts I read this link http://camel.apache.org/context.html;, and I have found the solution I wrote in the first my email. Thanks to your suggestion, I have experienced that it works good with direct-vm and vm, without camel-context dependency. So, just to know, could you explain me which are the differences between camel-context and vm approaches? Which are the pros and cons? Cheers, Matteo. Matteo Cusmai On Sat, Dec 14, 2013 at 11:10 AM, Claus Ibsen claus.ib...@gmail.com wrote: Oh dear maybe try to get the akka people to make this better, so you can use a spring based camel with their stuff more easily. If you want to integrate 2 different camel contexts in the same jvm, then try with direct-vm or the vm component. On Sat, Dec 14, 2013 at 10:03 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Claus, Thanks for rapid answer. I agree with you, but the problem is that I am using akka camel extension that creates a default camel context by itself. I don't think it is a good idea scanning akka packaging to look for route builders. My idea is to use 2 different context, mine based on spring xml and akka one based on default. What do you think about? Cheers, On 14 Dec 2013 09:37, Claus Ibsen claus.ib...@gmail.com wrote: No, its better to have 1 camel context. And from the spring camel context, you can refer to a routeBuilder ref or use package scanning to find and add your java dsl route builder classes. See the documentation http://camel.apache.org/spring On Sat, Dec 14, 2013 at 9:24 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi all, I am trying to use different camel context in my app. I have a camel context based on spring: beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd; camelContext xmlns=http://camel.apache.org/schema/spring; id=externalContext route from uri=rabbitmq://localhost/SIM_DATA?exchangeType=topicamp;queue=rewardAquire1amp;username=guestamp;password=guestamp;routingKey=SBBBamp;autoDelete=falseamp;threadPoolSize=1 / to uri=direct:consumer1 / /route /camelContext /beans and a second one based on java dsl: public class MainCamel { public static void main(String[] args) throws Exception { CamelContext externalContext = new ClassPathXmlApplicationContext(META-INF/camel-context.xml).getBean( externalContext, CamelContext.class ); DefaultCamelContext context = new DefaultCamelContext(); context.setRegistry( externalContext.getRegistry() ); context.addRoutes( new RouteBuilder() { @Override public void configure() throws Exception { from(context:externalContext:consumer1).to(stream:out); } }); context.start(); Thread.sleep( 6 ); context.shutdown(); externalContext.stop(); } } I am using camel 2.12.2 (core, rabbit, stream and context). It seems to work, my question is: is my code the right way to integrate a spring camel
Re: different context
No there is no performance issues. Its intra-jvm communication which is as fast as possible. Though for some high end cases the disruptor implementation of the queues has proven faster. http://camel.apache.org/disruptor.html You can find link to the disruptor project from that link above and find more details on the internet. On Wed, Dec 18, 2013 at 9:46 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi all, Could you please tell me if there are performance issues using vm component to connect 2 camel context? Is there any specific documentation about it. Thanks in advance, Matteo. On 15 Dec 2013 01:07, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Robert, I know that article, it is part of camel in action book that i have read. The problem is that he use scala api, and it is different and poorer than java api. On 14 Dec 2013 16:37, kraythe . kray...@gmail.com wrote: Try out this article: https://weblogs.java.net/blog/manningpubs/archive/2013/02/13/akka-and-camel You can init the Akka Camel context with spring and get the best of both worlds. *Robert Simmons Jr. MSc. - Lead Java Architect @ EA* *Author of: Hardcore Java (2003) and Maintainable Java (2012)* *LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39 http://www.linkedin.com/pub/robert-simmons/40/852/a39* On Sat, Dec 14, 2013 at 4:52 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Claus, I am talking about this issue with Akka community in their mailing list, I am waiting an answer. In the mean time I am trying to figure out my solution to the issue. However, regarding to manage 2 different camel contexts I read this link http://camel.apache.org/context.html;, and I have found the solution I wrote in the first my email. Thanks to your suggestion, I have experienced that it works good with direct-vm and vm, without camel-context dependency. So, just to know, could you explain me which are the differences between camel-context and vm approaches? Which are the pros and cons? Cheers, Matteo. Matteo Cusmai On Sat, Dec 14, 2013 at 11:10 AM, Claus Ibsen claus.ib...@gmail.com wrote: Oh dear maybe try to get the akka people to make this better, so you can use a spring based camel with their stuff more easily. If you want to integrate 2 different camel contexts in the same jvm, then try with direct-vm or the vm component. On Sat, Dec 14, 2013 at 10:03 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi Claus, Thanks for rapid answer. I agree with you, but the problem is that I am using akka camel extension that creates a default camel context by itself. I don't think it is a good idea scanning akka packaging to look for route builders. My idea is to use 2 different context, mine based on spring xml and akka one based on default. What do you think about? Cheers, On 14 Dec 2013 09:37, Claus Ibsen claus.ib...@gmail.com wrote: No, its better to have 1 camel context. And from the spring camel context, you can refer to a routeBuilder ref or use package scanning to find and add your java dsl route builder classes. See the documentation http://camel.apache.org/spring On Sat, Dec 14, 2013 at 9:24 AM, Matteo Cusmai cusmaimat...@gmail.com wrote: Hi all, I am trying to use different camel context in my app. I have a camel context based on spring: beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd; camelContext xmlns=http://camel.apache.org/schema/spring; id=externalContext route from uri=rabbitmq://localhost/SIM_DATA?exchangeType=topicamp;queue=rewardAquire1amp;username=guestamp;password=guestamp;routingKey=SBBBamp;autoDelete=falseamp;threadPoolSize=1 / to uri=direct:consumer1 / /route /camelContext /beans and a second one based on java dsl: public class MainCamel { public static void main(String[] args) throws Exception { CamelContext externalContext = new ClassPathXmlApplicationContext(META-INF/camel-context.xml).getBean( externalContext, CamelContext.class ); DefaultCamelContext context = new DefaultCamelContext(); context.setRegistry( externalContext.getRegistry() ); context.addRoutes( new RouteBuilder() { @Override public void configure() throws Exception {
Re: Camel Cxf Failover causes leak memory on periodic http requests
Hi, In my point of view, the problem is not in camel : a dump of JVM memory shows that created objects (org.apache.cxf.phase. PhaseInterceptor*) are retained by the ConcurrentHashMap that is instanciated by a class in CXF code (org.apache.cxf.clustering.FailoverTargetSelector). Those objects are not collected and remain in this map for a long term and cause the OOM error. Any idea thanks On Tue, Dec 17, 2013 at 1:29 PM, Willem Jiang willem.ji...@gmail.comwrote: Hi, It not easy to upgrade the camel version in the service. You can using Main[1] or camel:run maven plugin[2] to start your route. It could more easy to verify if the memory leak issue still there. [1] http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html [2]http://camel.apache.org/camel-run-maven-goal.html -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 17, 2013 at 5:39:03 PM, LORENZA Adnan (adnan.lore...@gmail.com) wrote: Hi Willem, Thanks for this quick answer. My camel component is deployed on a jbi servicemix-fuse-3.5-00. If I upgrade my component to Camel 2.12 do you think that I can deploy it on servicemix 3.4 or servicemix-fuse-3.5-00 ? Thanks On Tue, Dec 17, 2013 at 10:27 AM, Willem Jiang wrote: Hi, Your camel version is quite old (it is about two years old), and we don’t provide community support for that version. Can you try to run the test with some latest released Camel ? -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/ ) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 17, 2013 at 5:03:01 PM, LORENZA Adnan ( adnan.lore...@gmail.com) wrote: Hi, I developed a camel cxf component that is configured to failover to alternate addresses in case of connections /availability failures. The camel component is a simple timer that sends every second a request to a webservice. The camel route is the following : public void configure() throws Exception { from(timer:timerRetrieveAvailableJobs?fixedRate=trueperiod=1000) .setBody(constant(getRequestMessage()) .setHeader(CxfConstants.OPERATION_NAME, constant(getAvailableJobs)) .to(cxf:bean:cxfJobsWsEndpoint?synchronous=trueloggingFeatureEnabled=true); } private String getRequestMessage(){ //Build the right request ... } The camel-context.xml configures the clustering failover as below : ... serviceClass=net.jobs.ws.myPTServiceClass address= http://localhost/myservice/JobWS; class=org.apache.cxf.clustering.SequentialStrategy http://server1/JobWS http://server2/JobWS ... After a few hours, a dump of JVM memory shows that some objects of CXF (org.apage.cxf.) are created and remain in the memory. They are not accessible by the GC. Their number continues to grow and causes a memory leak after a long term : command : jmap -histo:live 25698 | grep cxf 8: 90660 9428640 [Lorg.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder; 20: 135989 3263736 org.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder 22: 45328 2900992 org.apache.cxf.message.MessageImpl 24: 45330 2175840 org.apache.cxf.phase.PhaseInterceptorChain 25: 22664 1994432 org.apache.cxf.message.ExchangeImpl 33: 45328 1087872 org.apache.cxf.phase.PhaseInterceptorChain$PhaseInterceptorIterator 36: 22664 906560 org.apache.cxf.clustering.FailoverTargetSelector$InvocationContext 40: 22664 725248 org.apache.cxf.helpers.LoadingByteArrayOutputStream$1 41: 45328 725248 org.apache.cxf.binding.soap.SoapMessage 46: 22664 543936 org.apache.cxf.message.MessageContentsList 51: 22664 362624 org.apache.cxf.helpers.LoadingByteArrayOutputStream 52: 22664 362624 org.apache.cxf.clustering.FailoverTargetSelector$InvocationKey I tried the same test without failover configuration and I was surprised : the component continues to work without memory problem. The objects above are collected and removed by the GC. It seems that the classes that implement the clustering failover retain created objects and prevent their removal. The test has been done on the following configurations : * apache-servicemix-3.4.0, cxf 2.4.4, camel 2.8.3 * apache-servicemix-3.5.0-fuse-00-00, cxf 2.2.11, camel 2.5 Any help will be appreciated. Thanks Regards Adnan
Re: building camel : disable camel-manual
Fixed, thx -- View this message in context: http://camel.465427.n5.nabble.com/building-camel-disable-camel-manual-tp5744596p5744989.html Sent from the Camel - Users mailing list archive at Nabble.com.
Problem using salesforce component in Fuse IDE
Hi, I am creating XML based camel route in Fuse IDE. But i am getting error: Cannot auto create component: salesforce. Can you please let me know what additional configuration i have to do here. Below is the camelcontext.xml: beans xmlns=http://www.springframework.org/schema/beans; xmlns:camel=http://camel.apache.org/schema/spring; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd; camelContext trace=false xmlns=http://camel.apache.org/schema/spring; route from uri=salesforce:CamelTestTopic?notifyForFields=ALLamp;notifyForOperations=ALLamp;sObjectName=Merchandise__camp;updateTopic=trueamp;sObjectQuery=SELECT Id, Name FROM Merchandise__c id=salesforcetesttopic description/ /from to uri=stream:out/ /route /camelContext /beans -- View this message in context: http://camel.465427.n5.nabble.com/Problem-using-salesforce-component-in-Fuse-IDE-tp5744990.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Problem using salesforce component in Fuse IDE
You need to have camel-salesforce on the classpath. If you use Maven, then add it to the pom.xml as dependency. On Wed, Dec 18, 2013 at 1:18 PM, shmahajan shital_maha...@persistent.co.in wrote: Hi, I am creating XML based camel route in Fuse IDE. But i am getting error: Cannot auto create component: salesforce. Can you please let me know what additional configuration i have to do here. Below is the camelcontext.xml: beans xmlns=http://www.springframework.org/schema/beans; xmlns:camel=http://camel.apache.org/schema/spring; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd; camelContext trace=false xmlns=http://camel.apache.org/schema/spring; route from uri=salesforce:CamelTestTopic?notifyForFields=ALLamp;notifyForOperations=ALLamp;sObjectName=Merchandise__camp;updateTopic=trueamp;sObjectQuery=SELECT Id, Name FROM Merchandise__c id=salesforcetesttopic description/ /from to uri=stream:out/ /route /camelContext /beans -- View this message in context: http://camel.465427.n5.nabble.com/Problem-using-salesforce-component-in-Fuse-IDE-tp5744990.html Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen - Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen Make your Camel applications look hawt, try: http://hawt.io
Wait for writing to a file if another one existe
Hello Riders My problem is the following I have to write (append mode) to a file (let's name it file1.csv) wich can possibly be processedat the same time by another process (not camel enabled ...) . I know that when processing the other process create a file (named file1.csv.tmp) , what i need is a mean to postpone the writing of the file as long as this second file exist . I search in the file component documentation but don't find a simple way to achieve this ... Any ideas ? Thanks Greg -- View this message in context: http://camel.465427.n5.nabble.com/Wait-for-writing-to-a-file-if-another-one-existe-tp5744993.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf Failover causes leak memory on periodic http requests
The CXF fail-over target selector appears to be cleaning up its state properly, which also implies the actual clients properly complete the exchanges, I've tried WS RS failover tests on the trunk. Indeed, try upgrading somehow and see if it persists Sergey On 18/12/13 09:43, LORENZA Adnan wrote: Hi, In my point of view, the problem is not in camel : a dump of JVM memory shows that created objects (org.apache.cxf.phase. PhaseInterceptor*) are retained by the ConcurrentHashMap that is instanciated by a class in CXF code (org.apache.cxf.clustering.FailoverTargetSelector). Those objects are not collected and remain in this map for a long term and cause the OOM error. Any idea thanks On Tue, Dec 17, 2013 at 1:29 PM, Willem Jiang willem.ji...@gmail.comwrote: Hi, It not easy to upgrade the camel version in the service. You can using Main[1] or camel:run maven plugin[2] to start your route. It could more easy to verify if the memory leak issue still there. [1] http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html [2]http://camel.apache.org/camel-run-maven-goal.html -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 17, 2013 at 5:39:03 PM, LORENZA Adnan (adnan.lore...@gmail.com) wrote: Hi Willem, Thanks for this quick answer. My camel component is deployed on a jbi servicemix-fuse-3.5-00. If I upgrade my component to Camel 2.12 do you think that I can deploy it on servicemix 3.4 or servicemix-fuse-3.5-00 ? Thanks On Tue, Dec 17, 2013 at 10:27 AM, Willem Jiang wrote: Hi, Your camel version is quite old (it is about two years old), and we don’t provide community support for that version. Can you try to run the test with some latest released Camel ? -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/ ) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 17, 2013 at 5:03:01 PM, LORENZA Adnan ( adnan.lore...@gmail.com) wrote: Hi, I developed a camel cxf component that is configured to failover to alternate addresses in case of connections /availability failures. The camel component is a simple timer that sends every second a request to a webservice. The camel route is the following : public void configure() throws Exception { from(timer:timerRetrieveAvailableJobs?fixedRate=trueperiod=1000) .setBody(constant(getRequestMessage()) .setHeader(CxfConstants.OPERATION_NAME, constant(getAvailableJobs)) .to(cxf:bean:cxfJobsWsEndpoint?synchronous=trueloggingFeatureEnabled=true); } private String getRequestMessage(){ //Build the right request ... } The camel-context.xml configures the clustering failover as below : ... serviceClass=net.jobs.ws.myPTServiceClass address= http://localhost/myservice/JobWS; class=org.apache.cxf.clustering.SequentialStrategy http://server1/JobWS http://server2/JobWS ... After a few hours, a dump of JVM memory shows that some objects of CXF (org.apage.cxf.) are created and remain in the memory. They are not accessible by the GC. Their number continues to grow and causes a memory leak after a long term : command : jmap -histo:live 25698 | grep cxf 8: 90660 9428640 [Lorg.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder; 20: 135989 3263736 org.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder 22: 45328 2900992 org.apache.cxf.message.MessageImpl 24: 45330 2175840 org.apache.cxf.phase.PhaseInterceptorChain 25: 22664 1994432 org.apache.cxf.message.ExchangeImpl 33: 45328 1087872 org.apache.cxf.phase.PhaseInterceptorChain$PhaseInterceptorIterator 36: 22664 906560 org.apache.cxf.clustering.FailoverTargetSelector$InvocationContext 40: 22664 725248 org.apache.cxf.helpers.LoadingByteArrayOutputStream$1 41: 45328 725248 org.apache.cxf.binding.soap.SoapMessage 46: 22664 543936 org.apache.cxf.message.MessageContentsList 51: 22664 362624 org.apache.cxf.helpers.LoadingByteArrayOutputStream 52: 22664 362624 org.apache.cxf.clustering.FailoverTargetSelector$InvocationKey I tried the same test without failover configuration and I was surprised : the component continues to work without memory problem. The objects above are collected and removed by the GC. It seems that the classes that implement the clustering failover retain created objects and prevent their removal. The test has been done on the following configurations : * apache-servicemix-3.4.0, cxf 2.4.4, camel 2.8.3 * apache-servicemix-3.5.0-fuse-00-00, cxf 2.2.11, camel 2.5 Any help will be appreciated. Thanks Regards Adnan
error when invoking service in camel (java.lang.NoSuchMethodError: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo) through soap ui)
I have a web application deployed on Tomcat container. I have created a route in camel. When I am trying to invoke the webservice through soap UI. I get following error: soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; soap:Body soap:Fault faultcodesoap:Server/faultcode faultstringorg.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo;/faultstring /soap:Fault /soap:Body /soap:Envelope I am trying to run the sample example taken from site: http://10-99.blogspot.in/2011/03/camel-and-cxf-integration-use-cases.html I am able to invoke the service through soap ui when the war is deployed on jetty container, but if I deploy the war on tomcat I get the mentioned error. On Tomcat console I am able to see below error, When I make request to a service through SOAP UI: WARNING: Interceptor has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo; at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:115) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:452) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:196) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:220) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFServlet.java:211) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:261) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1773) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.NoSuchMethodError: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo;
Re: Camel FTP consumer + socketFactory not work correctly
I just filled a JIRA[1] for it and committed a quick fix for it. [1] https://issues.apache.org/jira/browse/CAMEL-7077 -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 18, 2013 at 1:12:54 AM, alexey-s (alex...@mail.ru) wrote: Hi Add JUnit test for remove paramenters from FtpClient FromFtpClientSoTimeout3Test.java Aleksey -- View this message in context: http://camel.465427.n5.nabble.com/Camel-FTP-consumer-socketFactory-not-work-correctly-tp5744716p5744955.html Sent from the Camel - Users mailing list archive at Nabble.com.
contextScan in CamelConfiguration
I would like to use the java equivalent of the contextScan/ tag to have my camel context discover my @Component annotated SpringRouteBuilder instances. I am creating my camel context via Spring by extending the CamelConfiguration class and annotating the class with @Configuration. My question - what do I need to do in my CamelConfiguration class to scan for the routes? I found one other post on the topic, but didn't quite understand the response. Do I need to manually scan for the route classes in the routes() method? Or is there a way to retrieve route classes directly from Spring? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/contextScan-in-CamelConfiguration-tp5745004.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel FTP consumer + socketFactory not work correctly
Hi, Willem Thanks for the correction of an error. Exactly the same error there FtpsEndpoint. Aleksey -- View this message in context: http://camel.465427.n5.nabble.com/Camel-FTP-consumer-socketFactory-not-work-correctly-tp5744716p5745005.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: error when invoking service in camel (java.lang.NoSuchMethodError: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo) through soap ui)
it looks like you have some very old cxf library on your tomcat, which is picked up instead of the one intended. Can you verify which jars are deployed and make sure the deployed cxf jars are consistent? regards, aki 2013/12/18 reena upadhyay reena2...@outlook.com: I have a web application deployed on Tomcat container. I have created a route in camel. When I am trying to invoke the webservice through soap UI. I get following error: soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; soap:Body soap:Fault faultcodesoap:Server/faultcode faultstringorg.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo;/faultstring /soap:Fault /soap:Body /soap:Envelope I am trying to run the sample example taken from site: http://10-99.blogspot.in/2011/03/camel-and-cxf-integration-use-cases.html I am able to invoke the service through soap ui when the war is deployed on jetty container, but if I deploy the war on tomcat I get the mentioned error. On Tomcat console I am able to see below error, When I make request to a service through SOAP UI: WARNING: Interceptor has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo; at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:115) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:452) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:196) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:220) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFServlet.java:211) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:261) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1773) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.NoSuchMethodError: org.apache.cxf.message.Exchange.getBindingOperationInfo()Lorg/apache/cxf/service/model/BindingOperationInfo;
Polling consumer in camel
Hi, I am creating a polling consumer using: from(timer://foo?period=5000).bean(cool, someBusinessLogic); public static class MyCoolBean { private int count; private ConsumerTemplate consumer; private ProducerTemplate producer; public void setConsumer(ConsumerTemplate consumer) { this.consumer = consumer; } public void setProducer(ProducerTemplate producer) { this.producer = producer; } public void someBusinessLogic() { // loop to empty queue while (true) { // receive the message from the queue, wait at most 3 sec String msg = consumer.receiveBody(activemq:queue.inbox, 3000, String.class); if (msg == null) { // no more messages in queue break; } // do something with body msg = Hello + msg; // send it to the next queue producer.sendBodyAndHeader(activemq:queue.foo, msg, number, count++); } } } Here, i would like to receive jms message as Message or TextMessage instead of string. I have tried: Exchange exchange = consumer .receive(catalogJms:queue:queueName); exchange also doesn't give me message as javax.jms.Message or TextMessage. Is there any way i can do this?
Re: contextScan in CamelConfiguration
Interesting case. AFAIK there's currently no out-of-the-box solution in the camel-spring-javaconfig component for this. It would be a nice contribution though (http://camel.apache.org/contributing.html). If you want to give it a shot your self I perhaps you can take a look at using the Spring @ComponentScan annotation together with the ContextScanRouteBuilderFinder in camel-spring? On Wed, Dec 18, 2013 at 6:32 PM, edhansen42 e...@vsp.com wrote: I would like to use the java equivalent of the contextScan/ tag to have my camel context discover my @Component annotated SpringRouteBuilder instances. I am creating my camel context via Spring by extending the CamelConfiguration class and annotating the class with @Configuration. My question - what do I need to do in my CamelConfiguration class to scan for the routes? I found one other post on the topic, but didn't quite understand the response. Do I need to manually scan for the route classes in the routes() method? Or is there a way to retrieve route classes directly from Spring? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/contextScan-in-CamelConfiguration-tp5745004.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Polling consumer in camel
Set the mapJmsMessage=false option on the jms component to get the actual javax.jms.TextMessage. See http://camel.apache.org/jms.html for details (paragraph Disabling auto-mapping of JMS messages). On Wed, Dec 18, 2013 at 7:59 PM, Tarun Kumar agrawal.taru...@gmail.comwrote: Hi, I am creating a polling consumer using: from(timer://foo?period=5000).bean(cool, someBusinessLogic); public static class MyCoolBean { private int count; private ConsumerTemplate consumer; private ProducerTemplate producer; public void setConsumer(ConsumerTemplate consumer) { this.consumer = consumer; } public void setProducer(ProducerTemplate producer) { this.producer = producer; } public void someBusinessLogic() { // loop to empty queue while (true) { // receive the message from the queue, wait at most 3 sec String msg = consumer.receiveBody(activemq:queue.inbox, 3000, String.class); if (msg == null) { // no more messages in queue break; } // do something with body msg = Hello + msg; // send it to the next queue producer.sendBodyAndHeader(activemq:queue.foo, msg, number, count++); } } } Here, i would like to receive jms message as Message or TextMessage instead of string. I have tried: Exchange exchange = consumer .receive(catalogJms:queue:queueName); exchange also doesn't give me message as javax.jms.Message or TextMessage. Is there any way i can do this?
Re: contextScan in CamelConfiguration
Thanks Richard - that's actually the route (no pun intended) that I was heading down. I just want to make sure I'm not missing something, because it sure looks easy to do in XML. -- View this message in context: http://camel.465427.n5.nabble.com/contextScan-in-CamelConfiguration-tp5745004p5745011.html Sent from the Camel - Users mailing list archive at Nabble.com.
Aggregator, beyond the simple string example
Hi, I really enjoy the pattern enrich uri=... strategyRef=.../ It's straight forward and really very reusable, really great. Btw, beyond the StringInAggregatingStrategy documented example, does anybody have a real life XML Aggregating Strategy example ? Indeed, since, depending your endpoints, you do not control obviously the encoding variables, either your body type, try to aggregate : ?xml version=1.0 encoding=UTF-8?test1content/test1 with : ?xml version=1.0 encoding=ISO-8859-1?test2éèàù$ê£ë/test2 to obtain : ?xml version=1.0 encoding=UTF-8?xmltest1content/test1test2éèàù$ê£ë/test2/xml (encoded into utf-8) This is slightly more complex than just : String oldBody = oldExchange.getIn().getBody(String.class); String newBody = newExchange.getIn().getBody(String.class); result = xml + oldBody + newBody + /xml; ... I didn't get success trying to read newExchange as something else that a String.class, to get better Bytes level reading. Thanks in advance for any advice. Best regards, Francois -- View this message in context: http://camel.465427.n5.nabble.com/Aggregator-beyond-the-simple-string-example-tp5745012.html Sent from the Camel - Users mailing list archive at Nabble.com.
Annoying warning (SftpOperations - JSCH - Permanently added XXX to the list of known hosts)
Hi, I have a Camel route that requires SFTP. Everything works perfectly fine, but I get this annoying warning every minute in the logs and I don't know how to get rid of it. Any suggestion? WARN SftpOperations - JSCH - Permanently added XXX to the list of known hosts -- View this message in context: http://camel.465427.n5.nabble.com/Annoying-warning-SftpOperations-JSCH-Permanently-added-XXX-to-the-list-of-known-hosts-tp5745014.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Polling consumer in camel
Thanks Richard. This helps. I am using Exchange exchange = consumer .receive( catalogJms:queue:queueName?mapJmsMessage=falseacknowledgementModeName=CLIENT_ACKNOWLEDGE ); even though i am not sending acknowledgement for received message, each time it is polling different message. Any idea why that's happening? Thanks, Tarun On Thu, Dec 19, 2013 at 12:40 AM, Richard Kettelerij richardkettele...@gmail.com wrote: Set the mapJmsMessage=false option on the jms component to get the actual javax.jms.TextMessage. See http://camel.apache.org/jms.html for details (paragraph Disabling auto-mapping of JMS messages). On Wed, Dec 18, 2013 at 7:59 PM, Tarun Kumar agrawal.taru...@gmail.com wrote: Hi, I am creating a polling consumer using: from(timer://foo?period=5000).bean(cool, someBusinessLogic); public static class MyCoolBean { private int count; private ConsumerTemplate consumer; private ProducerTemplate producer; public void setConsumer(ConsumerTemplate consumer) { this.consumer = consumer; } public void setProducer(ProducerTemplate producer) { this.producer = producer; } public void someBusinessLogic() { // loop to empty queue while (true) { // receive the message from the queue, wait at most 3 sec String msg = consumer.receiveBody(activemq:queue.inbox, 3000, String.class); if (msg == null) { // no more messages in queue break; } // do something with body msg = Hello + msg; // send it to the next queue producer.sendBodyAndHeader(activemq:queue.foo, msg, number, count++); } } } Here, i would like to receive jms message as Message or TextMessage instead of string. I have tried: Exchange exchange = consumer .receive(catalogJms:queue:queueName); exchange also doesn't give me message as javax.jms.Message or TextMessage. Is there any way i can do this?
Re: Camel FTP consumer + socketFactory not work correctly
Thanks for pointing that out. I just updated the code of FtpsEndpoint. -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On December 19, 2013 at 1:46:53 AM, alexey-s (alex...@mail.ru) wrote: Hi, Willem Thanks for the correction of an error. Exactly the same error there FtpsEndpoint. Aleksey -- View this message in context: http://camel.465427.n5.nabble.com/Camel-FTP-consumer-socketFactory-not-work-correctly-tp5744716p5745005.html Sent from the Camel - Users mailing list archive at Nabble.com.
passing exchange and other value as parameters
Hi, I'm trying to pass exchange as a parameter and one more value using following code but still not working. Is it possible to pass exchange as a parameter when I call bean in my route xml? If so, how should I call it? thanks *bean ref=headers method=getHeaders(${exchange}, '300')/ * The function inside bean is below: *public void getHeaders(Exchange exchange, String HeaderValue) { setHeader(Header1, HeaderValue, exchange); setHeader(Header2, HeaderValue, exchange); }* I got the error which is I can't use exchange as parameter. thanks in advance -- View this message in context: http://camel.465427.n5.nabble.com/passing-exchange-and-other-value-as-parameters-tp5745031.html Sent from the Camel - Users mailing list archive at Nabble.com.
RE: Annoying warning (SftpOperations - JSCH - Permanently added XXX to the list of known hosts)
Hi, Well, the best way to get rid of this warning is to provide the host key as a known hosts to the sftp endpoint. Essentially the warning means that the endpoint does not know the public key of the SFTP server, so it cannot verify that the server it is communicating with is really the server it seems to be. Unfortunately the warning is also a bit misleading. Jsch cannot really store the known hosts in the SFTP endpoint configuration, therefore the permanently part of permanently added is wrong (that's why you get this warning again and again). Best regards Stephan -Original Message- From: geppo [mailto:geppore...@gmail.com] Sent: Mittwoch, 18. Dezember 2013 21:48 To: users@camel.apache.org Subject: Annoying warning (SftpOperations - JSCH - Permanently added XXX to the list of known hosts) Hi, I have a Camel route that requires SFTP. Everything works perfectly fine, but I get this annoying warning every minute in the logs and I don't know how to get rid of it. Any suggestion? WARN SftpOperations - JSCH - Permanently added XXX to the list of known hosts -- View this message in context: http://camel.465427.n5.nabble.com/Annoying-warning-SftpOperations-JSCH-Permanently-added-XXX-to-the-list-of-known-hosts-tp5745014.html Sent from the Camel - Users mailing list archive at Nabble.com.
How to monitor number of open files in camel?
Hi, Is there any way to monitor the number of open files in camel. My camel applications are running in fuse fabric container 7.1.0. I know this is possible using Hawtio but it supports fabric option only from Jboss Fuse 6.1 Cheers!!! Bharath.R -- View this message in context: http://camel.465427.n5.nabble.com/How-to-monitor-number-of-open-files-in-camel-tp5745033.html Sent from the Camel - Users mailing list archive at Nabble.com.