Re: Issue with Camel Crypto Signing
Try to debug the crypto component and see if the jks file is referenced correctly. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Issue-with-Camel-Crypto-Signing-tp5764289p5764343.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Cxf: How can I change the namespace of my incoming message?
Hi all, I have to change the namespace of the incoming messages to our webservice. The consumer route looks like the following: from(cxf:/myservice?serviceClass=myServiceClass)... I've tried to add somehow an interceptor to this(parameter properties.in, properties.inInterceptors?), but I don't get it how to configure it to my route. We are not configuring our cxf endpoints in spring so I have to solve it with additional parameters to the route. I think an interceptor with the transformation feature mentioned in the cxf documentation is the right solution, but I was not able to configure it correctly. How can I add an interceptor to the route? Or is there another way to change the namespace of the incoming message? kind regards, soilworker -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
Ok, it's configured via spring: bean id=myConfigurer class=org.apache.camel.component.cxf.CxfTimeoutTest$MyCxfEndpointConfigurer / But that's not an option for me, I have to add it programatically. -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763640.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
I think it should work with the cxfEndpointConfigurer-parameter: RouteBuilder configure method: {raw} JndiRegistry registry = (JndiRegistry) ( (PropertyPlaceholderDelegateRegistry)this.getContext().getRegistry()).getRegistry(); MyEndpointConfigurer myConf= new MyEndpointConfigurer (); //and here, it is bound to the registry registry.bind(myConf, myConf); from(cxf:/myService?serviceClass=myServiceClasscxfEndpointConfigurer=#myConf {raw} But I don't get this work because I get the following error when starting the application: Failed to resolve endpoint: cxf:///myService?cxfEndpointConfigurer=%23myConfloggingFeatureEnabled=trueserviceClass=myServiceClass due to: Could not find a suitable setter for property: cxfEndpointConfigurer as there isn't a setter method with same type: java.lang.String nor type conversion possible: No type converter available to convert from type: java.lang.String to the required type: org.apache.camel.component.cxf.CxfEndpointConfigurer with value #myConf How can I configure the cxfEndpointConfigurer parameter in a RouteBuilder? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763635.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
I don't understand how this testcase can work, the MyCxfEndpointConfigurer class is not added to the registry nor is it added on another way. The only thing I see that defers from my implementation is the static modifier. Willem.Jiang wrote Hi, It should should work, I’m not sure if it relates to the PropertyPlaceholderDelegateRegistry that you use. Here is the unit test[1] about it in camel-cxf. [1]https://github.com/apache/camel/blob/master/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfTimeoutTest.java#L76 -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (English) http://jnn.iteye.com (Chinese) Twitter: willemjiang Weibo: 姜宁willem On March 5, 2015 at 4:41:46 PM, cgiera ( christoph.giera@ ) wrote: I think it should work with the cxfEndpointConfigurer-parameter: RouteBuilder configure method: {raw} JndiRegistry registry = (JndiRegistry) ( (PropertyPlaceholderDelegateRegistry)this.getContext().getRegistry()).getRegistry(); MyEndpointConfigurer myConf= new MyEndpointConfigurer (); //and here, it is bound to the registry registry.bind(myConf, myConf); from(cxf:/myService?serviceClass=myServiceClasscxfEndpointConfigurer=#myConf {raw} But I don't get this work because I get the following error when starting the application: Failed to resolve endpoint: cxf:///myService?cxfEndpointConfigurer=%23myConfloggingFeatureEnabled=trueserviceClass=myServiceClass due to: Could not find a suitable setter for property: cxfEndpointConfigurer as there isn't a setter method with same type: java.lang.String nor type conversion possible: No type converter available to convert from type: java.lang.String to the required type: org.apache.camel.component.cxf.CxfEndpointConfigurer with value #myConf How can I configure the cxfEndpointConfigurer parameter in a RouteBuilder? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763635.html Sent from the Camel - Users mailing list archive at Nabble.com. -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763638.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
Hello, this ist the CxfEndpoint configuration I use in from(endpoint) CxfEndpoint endpoint = new CxfEndpoint(); endpoint.setServiceClass(myServiceClass); endpoint.setAddress(/myService); endpoint.setCxfEndpointConfigurer(new MyEndpointConfigurer()); endpoint.setCamelContext(this.getContext()); I've found something strange: We use a custom ManagementNameStrategy where we use hostname/nodeId as fixed name. When I take a look into the jconsole and the mbeans all other routes appear under myhost/mynode. The route that I have to configure with the seperate CxfEndpoint appers under camel-3. Can this help? kind regards, Christoph yogu13 wrote Hello.. Please let us know the exact parameters being set.. Code from your dsl will help.. Just cipher out sensitiveinformation Regards, -Yogesh On Thursday, March 5, 2015, cgiera [via Camel] ml-node+s465427n5763673h92@.nabble wrote: There I have the same problem that the route is started, but the endpoint is not callable via soapui or smthg. The route is also not shown in our jmx monitoring screen. yogu13 wrote Hello Christoph, Please check the CxfEndpoint API in camel first! I would say you shouldnt be calling .createEndpoint() and instead call the set methods CxfEndpoint instance for eg. setAddress() ,.setCxfEndpointConfigurer() and then pass the enpoint instance to... from(inputEndpoint) Hope this helps! Regards, -Yogesh -- If you reply to this email, your message will be added to the discussion below: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763673.html To unsubscribe from Camel Cxf: How can I change the namespace of my incoming message?, click here lt;http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codeamp;node=5763634amp;code=eW9ndTEzQGdtYWlsLmNvbXw1NzYzNjM0fC04ODQzODQxMjM=gt; . NAML lt;http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_vieweramp;id=instant_html%21nabble%3Aemail.namlamp;base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespaceamp;breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.namlgt; -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763676.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
Hm, we don't create a new camelContext. Our masterRoutesBuilder uses the SpringCamelContext. When we add the routes we make a cast to ModelCamelContext camelContext.addRouteDefinitions(templateRoute .getRouteCollection().getRoutes()); Can this be the problem? Willem.Jiang wrote It looks the camel context you set to CxfEndpoint is not the one that camel-context.xml creates. You may ned to some work on the route builder that you extend. -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (English) http://jnn.iteye.com (Chinese) Twitter: willemjiang Weibo: 姜宁willem On March 5, 2015 at 10:06:55 PM, cgiera ( christoph.giera@ ) wrote: Hello, this ist the CxfEndpoint configuration I use in from(endpoint) CxfEndpoint endpoint = new CxfEndpoint(); endpoint.setServiceClass(myServiceClass); endpoint.setAddress(/myService); endpoint.setCxfEndpointConfigurer(new MyEndpointConfigurer()); endpoint.setCamelContext(this.getContext()); I've found something strange: We use a custom ManagementNameStrategy where we use hostname/nodeId as fixed name. When I take a look into the jconsole and the mbeans all other routes appear under myhost/mynode. The route that I have to configure with the seperate CxfEndpoint appers under camel-3. Can this help? kind regards, Christoph yogu13 wrote Hello.. Please let us know the exact parameters being set.. Code from your dsl will help.. Just cipher out sensitiveinformation Regards, -Yogesh On Thursday, March 5, 2015, cgiera [via Camel] ml-node+s465427n5763673h92@.nabble wrote: There I have the same problem that the route is started, but the endpoint is not callable via soapui or smthg. The route is also not shown in our jmx monitoring screen. yogu13 wrote Hello Christoph, Please check the CxfEndpoint API in camel first! I would say you shouldnt be calling .createEndpoint() and instead call the set methods CxfEndpoint instance for eg. setAddress() ,.setCxfEndpointConfigurer() and then pass the enpoint instance to... from(inputEndpoint) Hope this helps! Regards, -Yogesh -- If you reply to this email, your message will be added to the discussion below: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763673.html To unsubscribe from Camel Cxf: How can I change the namespace of my incoming message?, click here lt;http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codeamp;node=5763634amp;code=eW9ndTEzQGdtYWlsLmNvbXw1NzYzNjM0fC04ODQzODQxMjM=gt; . NAML lt;http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_vieweramp;id=instant_html%21nabble%3Aemail.namlamp;base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespaceamp;breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.namlgt; -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763676.html Sent from the Camel - Users mailing list archive at Nabble.com. -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763681.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
How can I configure this endpoint correctly so that I don't loose any parameter of my normal URI? I've tried this: But then the service is not available. kind regards, Christoph yogu13 wrote I am assuming you are using java dsl.. in that case you create instance as below CxfEndpoint inboundCxf = new CxfEndpoint(); inboundCxf.setAddress(...); inboundCxf.setCamelContext(camelContext); inboundCxf.setDataFormat(DataFormat.RAW); inboundCxf.SetCxfEndpointConfigurer and finally use this instance from(inboundCxf).routeId(routeId).to(...) Hope this helps! Regards, -Yogesh -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763660.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
It's an web application, context is started via a subclass of the ContextLoaderListener. camel-context.xml camelContext id=camel xmlns=http://camel.apache.org/schema/spring; routeBuilder ref=masterRoutesBuilder / /camelContext The masterRoutesBuilder adds all routes to the context. Each route class is a sub class of RouteBuilder. So our routes are configured in the configure method. Additional Information: If I use and I look to the created endpoint the camelContext of it is of type DefaultCamelContext. If I use and I look to the created endpoint the camelContext of it is of type SpringCamelContext. Could this be the problem, and if so how can i solve it? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763665.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
I'm not allowed to change the camel-context.xml, I've to find a programmatic way. Willem.Jiang wrote You can define instance of CxfEndpointConfigurer the in the camel-context.xml just like this. bean id=myConfigurer class=org.apache.camel.component.cxf.CxfTimeoutTest$MyCxfEndpointConfigurer / -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (English) http://jnn.iteye.com (Chinese) Twitter: willemjiang Weibo: 姜宁willem On March 5, 2015 at 8:12:16 PM, cgiera ( christoph.giera@ ) wrote: It's an web application, context is started via a subclass of the ContextLoaderListener. camel-context.xml The masterRoutesBuilder adds all routes to the context. Each route class is a sub class of RouteBuilder. So our routes are configured in the configure method. Additional Information: If I use and I look to the created endpoint the camelContext of it is of type DefaultCamelContext. If I use and I look to the created endpoint the camelContext of it is of type SpringCamelContext. Could this be the problem, and if so how can i solve it? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763665.html Sent from the Camel - Users mailing list archive at Nabble.com. -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763674.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
There I have the same problem that the route is started, but the endpoint is not callable via soapui or smthg. The route is also not shown in our jmx monitoring screen. yogu13 wrote Hello Christoph, Please check the CxfEndpoint API in camel first! I would say you shouldnt be calling .createEndpoint() and instead call the set methods CxfEndpoint instance for eg. setAddress() ,.setCxfEndpointConfigurer() and then pass the enpoint instance to... from(inputEndpoint) Hope this helps! Regards, -Yogesh -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763673.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Cxf: How can I change the namespace of my incoming message?
Sry, I'm so bad :(. We don't create a new camelContext by ourself, but it's never set in our TemplateRoutes(a subclass of RouteBuilder). Now if someone calls templateRoute.getContext() camel will create a new (default)one, and not the real one is used. The manual CxfEndpoint creation looks good now, now I've to get the interceptor of the endpointConfigurer working. Thx to all for your help, I'm sorry for wasting your time. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Cxf-How-can-I-change-the-namespace-of-my-incoming-message-tp5763634p5763686.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Netty Http: HttpHeaders case sensitive
Thx for the quick response and solution. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Netty-Http-HttpHeaders-case-sensitive-tp5763157p5763231.html Sent from the Camel - Users mailing list archive at Nabble.com.
Camel Netty Http: HttpHeaders case sensitive
Hello, we are implementing a http camel route for receiving data from SAP. The route consumes from a netty-http endpoint(from(netty-http...)). Our tests with SoapUi worked fine, but when we tried sending data from the SAP system the test failed with http 400 bad request. After some research I found https://issues.apache.org/jira/browse/CAMEL-6599 where is mentioned to check if the host appears as http header. I analyzed the http requests: SoapUI: Accept-Encoding: gzip,deflate[\r][\n] Content-Type: text/xml;charset=UTF-8[\r][\n] Content-Length: 4[\r][\n] *Host: host-123:8080[\r][\n]* Connection: Keep-Alive[\r][\n] User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n] SAP: content-type: text/xml; charset=utf-8\r\n content-length: 3391\r\n [Content length: 3391] connection: keep-alive\r\n accept-encoding: gzip, deflate\r\n user-agent: SAP NetWeaver Application Server (1.0;731)\r\n * host: host-123:8080\r\n* sap-language: D\r\n The camel netty http component checks if a Host http header exists(case sensitive), SAP sends host: org.apache.camel.component.netty.http.handlers.HttpServerChannelHandler: // must include HOST header as required by HTTP 1.1 if (!request.headers().names().contains(HttpHeaders.Names.HOST)) { HttpResponse response = new DefaultHttpResponse(HTTP_1_1, BAD_REQUEST); response.setChunked(false); response.headers().set(Exchange.CONTENT_TYPE, text/plain); response.headers().set(Exchange.CONTENT_LENGTH, 0); response.setContent(ChannelBuffers.copiedBuffer(new byte[]{})); messageEvent.getChannel().write(response).syncUninterruptibly(); messageEvent.getChannel().close(); return; } HttpHeaders can be/have to be case insensitive, see http://stackoverflow.com/questions/5258977/are-http-headers-case-sensitive or http://www.ietf.org/rfc/rfc2616.txt. Should I create a ticket for this? kind regards, soilworker -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Netty-Http-HttpHeaders-case-sensitive-tp5763157.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: camel mail: content-transfer-encoding configurable
Ticket created, see https://issues.apache.org/jira/browse/CAMEL-7536. Looking forward to provide a patch. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/camel-mail-content-transfer-encoding-configurable-tp5752504p5752791.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: camel mail: content-transfer-encoding configurable
Hi, ok, just for clarification what would be a good solution for this: I've not mentioned that we need the content-transfer-encoding for the attachments of the mail. Some ideas from my side: 1. use a parameter like contentType, let's say content-transfer-encoding: If this parameter is set ALL attachments will have this content-transfer-encoding. The problem I see here is that it's probably a bit misleading as the contentType parameter affects the mailbody and content-transfer-encoding the attachments. Maybe this issue could be solved by renaming the parameter to something like attachment-transfer-encoding 2. when an attachment will be added to the exchange object the contentType could be defined like this: In the org.apache.camel.component.mail.MailBinding class then we extract the content transfer encoding, for example: Maybe we discuss the possible solutions before I start patching. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/camel-mail-content-transfer-encoding-configurable-tp5752504p5752738.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: camel mail: content-transfer-encoding configurable
Maybe something similar to the ContentTypeResolver is also a good solution -- View this message in context: http://camel.465427.n5.nabble.com/camel-mail-content-transfer-encoding-configurable-tp5752504p5752744.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: split with bean: multithreading problem
Hi, thx for your response. It's not mentioned in the documentation that stateless beans should be used. I also think that it is quite misleading that the beanRef functionality can be used(using the classname as string). kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/split-with-bean-multithreading-problem-tp5752258p5752702.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: split with bean: multithreading problem
The problem occures in camel 2.11.0 and 2.13.0. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/split-with-bean-multithreading-problem-tp5752258p5752502.html Sent from the Camel - Users mailing list archive at Nabble.com.
camel mail: content-transfer-encoding configurable
Hello, the camel mail componente determines the content-transfer-encoding itself based on the content of the message. We now have a customer we are only allowed to send messages where the content-transfer-encoding is base64. As most of the messages haven't any special characters camel determines 7bit or quoted-printable as content-transfer-encoding and we are not able to manipulate that. I wanted to discuss if content-transfer-encoding would be a viable uri option(like contentType) for the future. If so, I would create a ticket and try my best to provide a patch for this. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/camel-mail-content-transfer-encoding-configurable-tp5752504.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: split with bean: multithreading problem
I've a workaround for this issue: I've introduced a new method which creates a new instance of the bean: However, I still think the split with bean(Ref) behavior is wrong. Should I create a ticket for this? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/split-with-bean-multithreading-problem-tp5752258p5752414.html Sent from the Camel - Users mailing list archive at Nabble.com.
split with bean: multithreading problem
Hello, most of our routes contain a split with bean functionallity. For example: .split().method(Myclass.class.getName(), method) or .split(bean(MyClass.class.getName(), method)) Sometimes we got strange behavior in this routes and now I've found why: Although the bean MyClass was given to the splitter as beanRef, the behavior is like a singleton. I've tried a lot of variants of split().method, split(bean()), bean as string, class, object(=instance) but the bean MyClass everytime had the same instance. Maybe I've missed something, but I think that's not the way it should behave. Am I wrong with this? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/split-with-bean-multithreading-problem-tp5752258.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: OFTP2 component in camel
Hello, thx for your response. Now I know that there are official components and external components, I didn't know that. Just for information, when a new version of camel is released, how keep these external components in touch with the new release? Is there a list or something else where is mentioned which external component is working with camel release? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/OFTP2-component-in-camel-tp5751125p5751392.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: beanRef is caching instances in camel 2.13.0 - unwanted behavior
Yes, we use beanRef(MyBean.class.getName(), myMethodName) in all our routes. The bean is not configured via spring and until 2.11.0 a new instance of it was created for each camel message. In 2.13.0 the same instance is used for each camel message. Short answer: Yes :) kind regards, Christoph Claus Ibsen-2 wrote Hi And your beanRef you refer to is a FQN class name (not a bean id in a spring xml file or something) and you want a new instance of that FQN class to be created each time (eg prototype scoped) and therefore want cache disabled? And what you see in Camel 2.13.x is that its no longer prototype scoped? Is that correct? -- View this message in context: http://camel.465427.n5.nabble.com/beanRef-is-caching-instances-in-camel-2-13-0-unwanted-behavior-tp5751335p5751395.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: beanRef is caching instances in camel 2.13.0 - unwanted behavior
We also tried bean(Myclass.class, myMethod); bean(new Myclass(), myMethod); beanRef(Myclass.class.getName(), myMethod, false); They all don't work, the instance is everytime the same. Just for my understanding, I thought beanRef(...) will create a new instance and bean(...) will create a singleton. This assumption is not 100% correct by me, or? I'll log a jira ticket. I'll also try to apply a patch, but here I need short help: As mentioned some posts above, if I change the RegistryBean.getBean() method back to the version before CAMEL-6724 everything works fine again. Do you think this is the place where the bug exists? If so, I'll investigate and try to get the new version running. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/beanRef-is-caching-instances-in-camel-2-13-0-unwanted-behavior-tp5751335p5751398.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: beanRef is caching instances in camel 2.13.0 - unwanted behavior
Ticket is created: https://issues.apache.org/jira/browse/CAMEL-7452 kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/beanRef-is-caching-instances-in-camel-2-13-0-unwanted-behavior-tp5751335p5751400.html Sent from the Camel - Users mailing list archive at Nabble.com.
beanRef is caching instances in camel 2.13.0 - unwanted behavior
Hello, I've upgraded our application from camel 2.11.0 to camel 2.13.0. First all looked fine, but now we are facing huge problems with all our processes. All our routes are caching the instances of our beans now, so we have a lot of unwanted behavior in our application. I've found an improvement point in jira https://issues.apache.org/jira/browse/CAMEL-6725 which introduces the possibility of caching the instances. The documentation says that it's defaulted to no, but even if i change our routes from beanRef(classNameAsString,methodNameAsString) to beanRef(classNameAsString,methodNameAsString, false) the instances of the bean still get cached. Could someone please check if my assumptions are correct and also has the same behavior(then I think there is a bug)? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/beanRef-is-caching-instances-in-camel-2-13-0-unwanted-behavior-tp5751335.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: beanRef is caching instances in camel 2.13.0 - unwanted behavior
It is not the change of https://issues.apache.org/jira/browse/CAMEL-6725 which is causing the problems, it's the change of https://issues.apache.org/jira/browse/CAMEL-6724. I've changed the Registry.getBean() method to the old version and tested some of our routes again. Now the beans get not cached anymore. Should I create an issue for that? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/beanRef-is-caching-instances-in-camel-2-13-0-unwanted-behavior-tp5751335p5751345.html Sent from the Camel - Users mailing list archive at Nabble.com.
OFTP2 component in camel
Hello, I'm not able to find the OFTP2 component in an official camel release.(see http://camel.465427.n5.nabble.com/Camel-Component-for-the-OFTP2-protocol-td2848614.html#a2849338) Have I missed something or should i just add the (old) jar files from the website mentioned in the post above? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/OFTP2-component-in-camel-tp5751125.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Split XML with xmlTokenizer and add root element?
Hi Aki, I have upgraded to 2.13.0 now and applied your patch of CAMEL-7388. Everything looks fine so far. Thanks for your help! Kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Split-XML-with-xmlTokenizer-and-add-root-element-tp5750237p5751060.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: cxf how to add wsa addressing with cxf://someAddress[?options] uri format?
I think I've solved the problem by adding the annotation @Addressing(enabled = true, required = false) to the used webservice. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/cxf-how-to-add-wsa-addressing-with-cxf-someAddress-options-uri-format-tp5750440p5750855.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: camel-cxf component is encoding(base64) by default
Hi, maybe someone will correct me, but I think thats not an issue of the camel-cxf component. Cxf uses jaxb as standard binding and jaxb has a standard schema to java type mapping: See the chapter Schema-to-Java Mapping of the following link: http://docs.oracle.com/cd/E19159-01/819-3669/bnazf/index.html kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/camel-cxf-component-is-encoding-base64-by-default-tp5750705p5750731.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Split XML with xmlTokenizer and add root element?
Hi, cool stuff, I will patch it into my camel version. Thx! kind regards, Christoph Aki Yoshida-3 wrote as it seems the corresponding source files have not been linked to the jira ticket, you can find examples/test cases at: https://git-wip-us.apache.org/repos/asf?p=camel.git;a=tree;f=camel-core/src/test/java/org/apache/camel/language/tokenizer;h=72c5debe203cc31f7cd0a7e369c162b721c7308d;hb=01d587525f937b3135791f1c1d100909b245382a camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeWrapLanguageTest.java -- View this message in context: http://camel.465427.n5.nabble.com/Split-XML-with-xmlTokenizer-and-add-root-element-tp5750237p5750527.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Split XML with xmlTokenizer and add root element?
I see there are some changes between 2.11.0 and master regarding the TokenXML* classes. In the master version there is a new class TokenXMLExpressionIterator where you did your changes, in 2.11.0 which i use there is only the TokenXMLPairExpressionIterator. Maybe you can be so kind and help me patching 2.11.0? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Split-XML-with-xmlTokenizer-and-add-root-element-tp5750237p5750530.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: cxf how to add wsa addressing with cxf://someAddress[?options] uri format?
I forgot to mention that the wsa addressing headers only cause problems when the attribute mustUnderstand=1 is set. -- View this message in context: http://camel.465427.n5.nabble.com/cxf-how-to-add-wsa-addressing-with-cxf-someAddress-options-uri-format-tp5750440p5750484.html Sent from the Camel - Users mailing list archive at Nabble.com.
cxf how to add wsa addressing with cxf://someAddress[?options] uri format?
Hi, I've to configure the wsa addressing feature on some of our webservice consumers. The routes look like the following: from(cxf://someAddress?serviceClass=someClass) .to(...) Maybe I missed something but I've only found the wsa addressing configuration via spring: example: ... cxf:features wsa:addressing usingAddressingAdvisory=true / /cxf:features ... Is it possible to add the feature in the way I use cxf in my routes? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/cxf-how-to-add-wsa-addressing-with-cxf-someAddress-options-uri-format-tp5750440.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Split XML with xmlTokenizer and add root element?
Hi all, should we create a camel jira issue for this? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Split-XML-with-xmlTokenizer-and-add-root-element-tp5750237p5750360.html Sent from the Camel - Users mailing list archive at Nabble.com.
Split XML with xmlTokenizer and add root element?
Hello, I have to deal with large xml data in our camel application. In the camel documentation I've found the splitting with the xmltokenizer(split().xmlTokenize(tag)). First it looked fine for me, but then I noticed that there is no possibility to add the root element to the splitted xml's. Xml looks like this: root tosplit /tosplit tosplit /tosplit tosplit /tosplit tosplit /tosplit ... /root Output of xmltokenize(tosplit): 1. xml: tosplit /tosplit 2. xml: tosplit /tosplit ... Output needed: 1. xml: root tosplit /tosplit root 2. xml: root tosplit /tosplit root ... Maybe I missed something in the camel docu, is there a way in camel to get the output from above? Perhaps I can use something other than the xmltokenizer? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Split-XML-with-xmlTokenizer-and-add-root-element-tp5750237.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: FileConsumer: Deletion of done file(s)
Should I open a ticket and maybe apply a patch? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/FileConsumer-Deletion-of-done-file-s-tp5743106p5743173.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: FileConsumer: Deletion of done file(s)
We 've now tested with camel 2.12.1 and the behavior is still the same. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/FileConsumer-Deletion-of-done-file-s-tp5743106p5743172.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: FileConsumer: Deletion of done file(s)
Issue is created: https://issues.apache.org/jira/browse/CAMEL-6964 Our solution is working for the camel version we are using(2.11.0). I'll provide this patch for the actual trunk version kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/FileConsumer-Deletion-of-done-file-s-tp5743106p5743239.html Sent from the Camel - Users mailing list archive at Nabble.com.
FileConsumer: Deletion of done file(s)
Hello, we are having some issues with the deletion of done files when consuming Files with the standard camel component. First only one done file was deleted when the fileConsumer grabs more files at once, this problem I've found in the forum. (We are using camel 2.11.0 and there was an issue with the done files, see http://camel.465427.n5.nabble.com/Done-file-not-deleted-td5735497.html or https://issues.apache.org/jira/browse/CAMEL-5883) So when our routes consuming files and there occurs no exception in the process everything is fine. That leads me to my question: If an exception occurs in the process should the done file should be deleted? Should this be the normal behavior of the FileConsumer or do we have to delete the done files by ourselves(if an exception occurs in the process)? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/FileConsumer-Deletion-of-done-file-s-tp5743106.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: FileConsumer: Deletion of done file(s)
Thx for the response. Yeah we use the moveFailed option to move the file into an errorFolder, but the done file still appears in the source folder. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/FileConsumer-Deletion-of-done-file-s-tp5743106p5743109.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, it looks like we have found the problem: http://www.mail-archive.com/cyrus-devel@lists.andrew.cmu.edu/msg01684.html We use exactly the cyrus version mentioned in the link, it is not 100% sure if this is the real problem, but we are setting up a server with cyrus 2.4.x and run our tests again. As a simple workaround the option closeFolder=false looks good, we haven't lost a single mail in our testings. Thanks for your time and help, maybe someone will need this information in the future. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5737024.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Adding MultiConsumer support to a ScheduledPollEndpoint/ScheduledPollConsumer
Hello, I think I got it. I didn't know that it is possible to add the same Runnable to the ExecuterService multiple times. Thx for your help. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266p5736484.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Adding MultiConsumer support to a ScheduledPollEndpoint/ScheduledPollConsumer
Claus Ibsen-2 wrote They are not the same. The former is for allowing 2+ routes with the same endpoint, eg multiple consumers, eg: from A to B from A to C concurrentConsumers is for the same consumer, eg from A concurrentConsumers = 10 to B I have looked through the existing components and there are only jms, seda and timer which support this feature. Non of them does fit my requirements exactly(or I don't understand it enough). Sorry if I've missed something and it is really easy, thanks for your time. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266.html Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen - Red Hat, Inc. Email: cibsen@ Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen Hello, yes I want to implement from A concurrentConsumers = 10 to B but there I'm missing the step where I can easily create/register more than 1 consumer. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266p5736424.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Adding MultiConsumer support to a ScheduledPollEndpoint/ScheduledPollConsumer
Yes, but I haven't found an easy way to add my consumer(when I extend from ScheduledPollConsumer it is a Runnable) to the underlying executerService. I think there should be an easy way but I haven't found it. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266p5736431.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Adding MultiConsumer support to a ScheduledPollEndpoint/ScheduledPollConsumer
Yes, that's a good hint. From your experience is it a viable way to implement it like this? It looks strange to me to add new consumers in a consumer class. Maybe there is some impact on the general functionallity if I don't create consumers with the endpoint.createConsumer method or something like that -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266p5736434.html Sent from the Camel - Users mailing list archive at Nabble.com.
Adding MultiConsumer support to a ScheduledPollEndpoint/ScheduledPollConsumer
Hello, I have to write a new Camel component which should have the similar behavior like the JmsComponent but I'm not allowed to use Jms(due customer restrictions). I want to use as much functionallity as possible from the standard implementations in camel. So I decided to extend from the DefaultScheduledPollEndpoint/Consumer to get all the inital delay, delay... stuff. In the poll method I just use the JdbcTemplate to call a pl/sql procedure which dequeues the data. What is missing now is the MultiConsumer support so I can provide the concurrentConsumer parameters we use in our JMS routes nowadays. I have looked through the existing components and there are only jms, seda and timer which support this feature. Non of them does fit my requirements exactly(or I don't understand it enough). Sorry if I've missed something and it is really easy, thanks for your time. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Adding-MultiConsumer-support-to-a-ScheduledPollEndpoint-ScheduledPollConsumer-tp5736266.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: endDoTry
Hello, I have found out that we have used patched version of 2.6.0: was added to the ProcessorDefinition-class. In camel 2.11.0 it looks slightly different: and in the end() method there are some comments regarding doTry/doCatch: Somehow it is not properly working I think. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/endDoTry-tp5734513p5734638.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: endDoTry
Ok, I see that the code of 2.11.0 also just returns this, so it would be the similar value as in our 2.6.0 version. So is there a change in the behaviour of doTry/doCatch/doFinally in an onException block? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/endDoTry-tp5734513p5734640.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: endDoTry
My last post is nonsense, I have looked at the wrong object. When I change the endDoTry() to it is working again. I'm not sure if I should apply a patch for this, pls let me know if so. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/endDoTry-tp5734513p5734654.html Sent from the Camel - Users mailing list archive at Nabble.com.
endDoTry
Hello, I'm upgrading from camel 2.6.0 to 2.11.0. It's a big step as 2.6.0 is pretty old. However some of our routes don't start anymore because of the exception: The route looks like the following: Should I just remove the endDoTry() or is there another possibility? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/endDoTry-tp5734513.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, now with java mail 1.4.5 and log entries(have added slf4j_log4j.jar to ensure debug messages occure): It's the same behavior and the same log entries, missing mail logs: INFO | jvm 1| 2013/06/19 11:54:23 | * 2 RECENT INFO | jvm 1| 2013/06/19 11:54:23 | * SEARCH INFO | jvm 1| 2013/06/19 11:54:23 | A9329 OK Completed (0 msgs in 0.000 secs) For comparing, here it works: INFO | jvm 1| 2013/06/19 11:54:44 | * 2 RECENT INFO | jvm 1| 2013/06/19 11:54:44 | * SEARCH 1550 1551 INFO | jvm 1| 2013/06/19 11:54:44 | A9357 OK Completed (2 msgs in 0.000 secs) INFO | jvm 1| 2013/06/19 11:54:44 | 2013-06-19 11:54:44,944 [Camel (camel) thread #2 - imap://ipaddress] DEBUG - Fetching 1 messages. Total 2 messages. Although it is only fetching 1 of 2 messages here the second message was processed with the next run. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734364.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Here is another part of the logfile where this problem occures: Here is something really strange: INFO | jvm 1| 2013/06/19 11:30:37 | 2013-06-19 11:30:37,237 [Camel (camel) thread #2 - imap://ipaddress] DEBUG - Polling mailbox folder: imap://ipaddress:143, folder=INBOX INFO | jvm 1| 2013/06/19 11:30:37 | 2013-06-19 11:30:37,300 [Camel (camel) thread #8 - imap://ipaddress] DEBUG - Polling mailbox folder: imap://ipaddress:143, folder=INBOX 2 Threads which are polling at the same time. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734367.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Christian Mueller wrote Can you send me the entire log file. I need more context than only two lines... Above of the 2 lines you can find a big part of the log file, I thought this will be enough, but sure I can send you the 30 MB zip files :). Christian Mueller wrote Do you have multiple routes polling the same INBOX? No. Christian Mueller wrote Did you stopped/started the routes (may we have an issue not correctly stopping the rouet)? I have stopped the MailProducer routes when testing one time, not the consumer route. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734383.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, I've updated our customers qa system to camel 2.11.0 and mail 1.5 now. We've added some test routes to send mails to the mail box we are reading from and had a look at it if mails are missing. After ~1 hour we saw that sent mails vs. received mails was not equal anymore and analyzed the log files. I've found the log entries where something is wrong: There are 2 recent mails, but they were not fetched: INFO | jvm 1| 2013/06/18 16:32:21 | * 2 RECENT INFO | jvm 1| 2013/06/18 16:32:21 | * SEARCH INFO | jvm 1| 2013/06/18 16:32:21 | A2749 OK Completed (0 msgs in 0.000 secs) For comparing here are log entries where mails are consumed correctly: 2 Recent and 2 fetched INFO | jvm 1| 2013/06/18 16:32:43 | * 2 RECENT INFO | jvm 1| 2013/06/18 16:32:43 | * SEARCH 1069 1070 INFO | jvm 1| 2013/06/18 16:32:43 | A2777 OK Completed (2 msgs in 0.000 secs) Here is the setup of our routes: Consumerroute: imap://ip-adress?consumer.delay=3000consumer.useFixedDelay=truedebugMode=truefetchSize=1password=_unseen=trueusername= 2 routes which send to the mailbox: timer://foo?fixedRate=trueperiod=27000 timer://foo2?fixedRate=trueperiod=29000 I've activated mailDebug option on the consumer route and additionally some log4j logging: log4j.logger.org.apache.camel.component.mail=TRACE log4j.logger.org.apache.camel.impl=TRACE Pls let me know if I you need other logs or how I should adjust log4j to get more logs out of the MailComponent. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734311.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, thx for the reply. I've updated to camel 2.11.0 and java mail 1.5 before I've begun the testing. So all the log's from the previous posts are already from the newest version. On my local system I've tested the workaround with fetchSize=1, here both versions 2.6.0 and 2.11.0 are working for me. So we decided to get this workaround to the customer system(2.6.0), but here the workaround is not working. I have not found out what is the difference between the customer system and my testings, but I don't think it is fixed in 2.11.0. I haven't found something new in this log files, all information is also included in the logs I've posted in the previous posts. However, if you still need more log entries, I can post them if you want. kind regards, Christoph Christian Mueller wrote As I already mentioned, Camel 2.6.0 is really old (released in Jan. 2011) and not supported anymore by Apache Camel. The reason why I ask to upgrade you application is to check whether this issue still exists with the actual version or not. Camel-mail 2.11.0 use the following dependencies (I skipped the test dependencies): [INFO] org.apache.camel:camel-mail:bundle:2.11.0 [INFO] +- org.apache.camel:camel-core:jar:2.11.0:compile [INFO] | \- org.slf4j:slf4j-api:jar:1.6.6:compile (version managed from 1.6.6) [INFO] +- javax.mail:mail:jar:1.4.5:compile Can you re-run the failing tests in DEBUG mode (enable DEBUG log level for Camel) and share the log with us? At the moment I'm wondering why we have fetchSize and maxMessagesPerPoll and what the difference should be... Best, Christian Müller - Software Integration Specialist Apache Camel committer: https://camel.apache.org/team V.P. Apache Camel: https://www.apache.org/foundation/ Apache Member: https://www.apache.org/foundation/members.html -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734253.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, thx for the reply. But even if the consumer is not transaction secure, it should not happen that mails are marked as seen but don't get processed. I haven't found why this happens exactly, but I have described where it happens in my previous posts. I'm wondering that no one had this behavior before. Maybe you can give me a hint how to fix this problem so that I can probaply apply a patch for the community. I'm also happy with other suggestions like your environment causes the problem(but I don't think it is an environment problem :) ). kind regards, Christoph Claus Ibsen-2 wrote Hi No the mail consumer is not TX per see. When it marks a mail as SEEN it cannot do this in an atomic transaction. Also there is a bit difference when using pop3 or imap. -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5734001.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
A general question: Is the camel mail consumer transaction secure? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733918.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Seems like my workaround is not working 100% correctly. We added the fetchSize parameter to the necessary routes on our customer system and it looked really fine, but when 2 mails arrived within the same second only one message get processed but two were marked as seen :(. However on the customer system camel 2.6.0 and java mail 1.4.4 is used, so perhaps the behavior is better in camel 2.11.0. kind regards, Christoph Christian Mueller wrote I will have a look at it if I find some time later this week... Best, Christian Müller - Software Integration Specialist Apache Camel committer: https://camel.apache.org/team V.P. Apache Camel: https://www.apache.org/foundation/ Apache Member: https://www.apache.org/foundation/members.html https://www.linkedin.com/pub/christian-mueller/11/551/642 -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733539.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Ok, i see fetchSize is also a parameter. The only way to don't lose mails in my testcase is to set fetchSize to 1. But that's not a solution, it's only a workaround. I'm sorry I couldn't find the problem by myself, I could only say it has something to do with the folder.isOpen check. After this all fetched mails are marked as seen, but only 1 message is processed. cgiera wrote Even if I set the maxMessagesPerPoll option to 1, the fetchsize in this case is -1. So all messages will be looped in this case. In debug mode I have changed the value of the fetchSize to 1 and only one message gets marked as SEEN. I'm not sure if this is solving the whole problem. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733325.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
I have upgraded to camel 2.11.0(not all referenced libs but camel mail component doesn't use any referenced libs) and mail 1.5. The problem still exists in the new versions. I will debug the MailConsumer now and I try to find out what's going on. I believe there is something wrong with this code: My test routes look like the following: The missing mails can be reduces when setting maxMessagesPerPoll to a small number, but it doesn't solve the problem. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733247.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Ok, this was a big mistake, when i set the maxMessagesPerPoll option to 1 and the pollinginterval to 1 sec only every ~ 5th message will be processed!! The second test route sends every second 4 messages to the inbox. I spend a lot of time with debugging now but I wasn't able to find the code segment where this goes wrong. cgiera wrote The missing mails can be reduces when setting maxMessagesPerPoll to a small number, but it doesn't solve the problem. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733264.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
I'm not sure if I'm on the right way, but I've found one thing which doesn't work correct I think: Even if I set the maxMessagesPerPoll option to 1, the fetchsize in this case is -1. So all messages will be looped in this case. In debug mode I have changed the value of the fetchSize to 1 and only one message gets marked as SEEN. I'm not sure if this is solving the hole problem. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733269.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, due customer restrictions to java 5 we couldn't upgrade until now. This restriction will now fall, so we can upgrade now. However it is a big step from 2.6.0 to 2.11.0 and I already started the upgrade process, but I'm facing big problems with the referenced lib's as they are not integrated in the normal download. Do you know what is the simplest way to get the referenced libs when we don't use maven? Thx for your reply. kind regards, Christoph Christian Mueller wrote Camel 2.6.0 is a bit old and not supported anymore. Do you have a chance to try a newer version (e.g. 2.11.0) and check whether it behaves in the same way!? Best, Christian -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733064.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
Hello, hm, it is not a really big step from 14 messages to 10 ^^. Or does this limiting of the messages changes the behavior of the MailConsumer significantly? Thx for your reply. kind regards, Christoph Claus Ibsen-2 wrote Hi You can try using maxMessagesPerPoll=10 or something to limit polling in too many mails. -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733065.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: MailComponent/MailConsumer misses Mails
We are using java mail 1.4.4. I think this is pretty new although ~ 1 month ago java mail 1.5 was released. Short update from our testing/analyzing: It seems the problem occures when mails are arriving on the mailbox while MailConsumer is working. I have created a test scenario where I loaded ~320 mails into the mailbox. The subject of the mails where the numbers 1-320. Then i created a route where I just take the mails from the mailbox and move them to a file-endpoint. As filename I took the subject, so it's easy to see which mails are missing. In this scenario I started the route after all mails where sent to the mailbox. Looking at the file-endpoint, there were all numbers from 1-320. My second test scenario is extended with an extra route. A route which just sends 10 messages every 5 seconds to this mailbox. The subject is still numbered. Looking now at the file-endpoint there were some numbers missing every now and then, but all mails in the mailbox were marked as seen. So I can reproduce the problem of our customer. I will try to update to a new Camel version and run this scenario again, maybe you can get me a hint how to get all the referenced libs that have changed since 2.6.0. We don't use maven so it is really hard to upgrade the referenced libaries for all camel components. kind regards, Christoph Claus Ibsen-2 wrote You can also try upgrading the java mail JAR -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010p5733109.html Sent from the Camel - Users mailing list archive at Nabble.com.
MailComponent/MailConsumer misses Mails
Hello, I'm facing strange problems when consuming mails from a cyrus mail server. Some mails were not processed but appear as SEEN in the mailbox. I've added the mail debug option to the route and I was pretty confused when analyzing the log: First poll is quite normal: 14 new mails, 14 get fetched and processed. Second poll is very confusing to me: 14 new messages and only 11 get fetched. Missing emails are 266, 267 and 268, but they still exist in the mailbox(marked as SEEN). Our camel application was (and still is) the only client which was connected to this mailbox. So I've to assume that the camel MailComponent has marked as seen(but not processed the mail). We are using camel 2.6.0 and cyrus-imapd-2.3.16-6.el6_2.5.x86_64. The route looks like the following: This behaviour is almost everytime reproducable when loading a lot of messages to the mailbox(~25+). Mailserver log shows that our camel application is the only connected client. Any help/advice/hint would be nice, I don't have a clue what I can do or where I should start my next analyzes. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/MailComponent-MailConsumer-misses-Mails-tp5733010.html Sent from the Camel - Users mailing list archive at Nabble.com.
Second Split in Route is not working
Hello, I'm trying to get my route working which looks like the following: The problem I have is that the compiler says The method beanRef(String, String) is undefined for the type Object in the second split: I replaced the .end() with .endSplit() and so the compiler was happy again, but then I get a runtime exception: As you can see I use an older version of camel(2.6.0) and I'm not able to update to a newer one because of our restriction to Java 5. Never the less I searched in jira + camel-users and haven't found something about this problem, so perhaps it isn't fixed in an actual version either. Can someone please help me? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Second-Split-in-Route-is-not-working-tp5719519.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Second Split in Route is not working
Claus Ibsen-2 wrote Instead of split().method, use split(method) eg supply the method call expression as a parameter. That helps the compiler. Yes, works fine for me. Thank you very, very much!! kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/Second-Split-in-Route-is-not-working-tp5719519p5719522.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
Claus Ibsen-2 wrote When using .bean in the DSL, then the bean is looked up / created once / etc when the route is being initialized / started. And thus there is no thread safe issue at runtime, as the beans is already created. When using bean with a class type, the bean is created once (eg singleton scope). And that is by design. If you want prototype scope or something like that, then use a beanRef and refer to a bean in a bean container that supports that such as spring etc. Yes, I use beanRef, but when I use the cxf-Endpoint I still have multi threading problems. The method RegistryBean.getBean() is - as i mentioned above - not thread safe I think. Do you agree with that, or is something wrong with my assumptions? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5713678.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
Claus Ibsen-2 wrote On Tue, May 29, 2012 at 2:44 PM, cgiera lt;christoph.giera@gt; wrote: You use an old version of Camel. You can upgrade to have this fixed. When Camel start the routes it initializes the resources and thus also bean / beanRef, where it will setup this logic. That logic runs single threaded. The problem is that in some cases we are not allowed to use java 6. So camel 2.6.0 is the latest version we could use. Can you tell me which jira issue(s) would fix this problem so I could patch camel 2.6.0 by myself? kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5713688.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
Willem.Jiang wrote What's the problem ? I don't think passing the bean object instance will introduce any further issue into camel-jms and camel-jpa components. Perhaps I don't understand you correctly, but if i pass the object instance like I get problems with our whole implementation because the beans are only instantiated once. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5713307.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
cgiera wrote Willem.Jiang wrote BTW the bean DSL support to pass the object, can you use the Object instead of the Class? I'll give this a try and let you know. Would be nice if this works. kind regards, Christoph I have tried it. Now I don't get ClassCastExceptions but I have new problems with jms and jpa. So it isn't a solution for me. kind regards, Christoph -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5710615.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
I think I have found the problem: The RegistryBean.getBean() method is not thread safe: When I was debugging this method i notized that the bean member variable changes every now and then. I think this happens because another thread changes the member. In the last if block of the me method I think the following could happen: The bean member could also be a class, in this case the method tries to get an instance of this class. There is one problem in the line value=bean: What if another thread changes the bean to a class in just this moment? A class will be returned instead of an object, and so I get my ClassCastException later when camel tries to execute methods on the class instead of the object. Could someone check if the assumptions i made are correct? -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5699619.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
cgiera wrote I've looked for some more information in the camel-users forum and I've found the following: http://camel.465427.n5.nabble.com/Bean-component-BeanInfo-thread-safety-td3387197.html Also the changes of the MethodInfo class in CAMEL-3670 doesn't solve the problem. -- View this message in context: http://camel.465427.n5.nabble.com/ClassCastException-using-cxf-bean-tp5599810p5696698.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: ClassCastException using cxf:bean
cgiera wrote Hello, one of our customers has serious problems with our software which uses camel 2.6.0. Our cxf-Route throws a ClassCastException The route looks like this: from(cxf:bean:endpoint) .transacted(PROPAGATION_REQUIRED) .beanRef(Bean1.class.getName(), method1) .beanRef(Bean2.class.getName()) .split().method(Bean3.class.getName()) .setExchangePattern(ExchangePattern.InOnly) .to(jmsAq:queue:QueueName?transacted=true) .end() .beanRef(Bean1.class.getName(), method2) .beanRef(Bean4.class.getName()); The trace of the exception looks like this: INFO | jvm 1| 2012/03/07 16:12:15 | 2012-03-07 16:12:15,056 [http-8443-10] TRACE - Chosen method to invoke: public java.lang.Object Bean1.process(org.apache.camel.Exchange) throws java.lang.Exception on bean: class Bean2 INFO | jvm 1| 2012/03/07 16:12:15 | 2012-03-07 16:12:15,057 [http-8443-12] TRACE - Chosen method to invoke: public java.lang.Object Bean1.process(org.apache.camel.Exchange) throws java.lang.Exception on bean: Bean2@6bda710a INFO | jvm 1| 2012/03/07 16:12:15 | 2012-03-07 16:12:15,057 [http-8443-10] TRACE - invoking: public java.lang.Object Bean1.process(org.apache.camel.Exchange) throws java.lang.Exception on bean: class Bean2 with arguments: {Exchange[Message: [Message@116802e3]]} for exchange: Exchange[Message: [Message@116802e3]] INFO | jvm 1| 2012/03/07 16:12:15 | 2012-03-07 16:12:15,057 [http-8443-12] TRACE - invoking: public java.lang.Object Bean1.process(org.apache.camel.Exchange) throws java.lang.Exception on bean: Bean2@6bda710a with arguments: {Exchange[Message: [Message@116802e3]]} for exchange: Exchange[Message: [Message@116802e3]] INFO | jvm 1| 2012/03/07 16:12:15 | 2012-03-07 16:12:15,058 [http-8443-10] ERROR - Failed delivery for exchangeId: ID-nlzehvdcs1sx898-43015-1325240144169-0-3304451. Exhausted after delivery attempt: 1 caught: java.lang.IllegalArgumentException: java.lang.ClassCastException@52337ed7 INFO | jvm 1| 2012/03/07 16:12:15 | java.lang.IllegalArgumentException: java.lang.ClassCastException@52337ed7 INFO | jvm 1| 2012/03/07 16:12:15 | at sun.reflect.GeneratedMethodAccessor243.invoke(Unknown Source) INFO | jvm 1| 2012/03/07 16:12:15 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_26] INFO | jvm 1| 2012/03/07 16:12:15 | at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_26] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:322)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:224)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:167)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:62)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:62)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15 | at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[camel-core-2.6.0.jar:2.6.0] INFO | jvm 1| 2012/03/07 16:12:15