[jira] [Created] (CAMEL-12267) Make CometD transport properties configurable
Zoran Regvart created CAMEL-12267: - Summary: Make CometD transport properties configurable Key: CAMEL-12267 URL: https://issues.apache.org/jira/browse/CAMEL-12267 Project: Camel Issue Type: Improvement Components: camel-salesforce Reporter: Zoran Regvart Assignee: Zoran Regvart Fix For: 2.21.0 Incorporate code from [https://github.com/apache/camel/pull/2224] by Seb Beaume. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (CAMEL-12244) RemoteFileProducer stopped instead of being released to the pool when "interceptSendToEndpoint" is used
[ https://issues.apache.org/jira/browse/CAMEL-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen resolved CAMEL-12244. - Resolution: Fixed Thanks for reporting and diving into the source code and finding the problem. > RemoteFileProducer stopped instead of being released to the pool when > "interceptSendToEndpoint" is used > --- > > Key: CAMEL-12244 > URL: https://issues.apache.org/jira/browse/CAMEL-12244 > Project: Camel > Issue Type: Bug >Affects Versions: 2.19.0 >Reporter: Krzysztof Szafrański >Assignee: Claus Ibsen >Priority: Major > Fix For: 2.21.0 > > > In our application we're using an SFTP producer with "fileExist=Move" and a > specific "moveExisting" expression. I encountered a problem where this would > sometimes work, and sometimes not (i.e. there would be no ".archived" file). > Upon further investigation I found the problem and it seems to be a bug in > Camel. > Our SFTP endpoint looks like this: > {code:none} > sftp://...:.../...?username=...=...=...=false=ERROR=Move=${file:name}.archived${date:now:MMddHHmmssSSS} > {code} > We also have an interceptor: > {code:none} > route.interceptSendToEndpoint("sftp://.*;).process(exchange -> > LOG.info("Sending file {} to {}", ...)); > {code} > As I discovered, using the interceptor wraps the RemoteFileProducer with > InterceptSendToEndpoint. This however changes the behavior of the > ProducerCache: > {code} > public boolean doInAsyncProducer(...) { > ... > return producerCallback.doInAsyncProducer(producer, asyncProcessor, > exchange, pattern, doneSync -> { > ... > if (producer instanceof ServicePoolAware) { > // release back to the pool > pool.release(endpoint, producer); > } else if (!producer.isSingleton()) { > // stop and shutdown non-singleton producers as we should not > leak resources > try { > ServiceHelper.stopAndShutdownService(producer); > } catch (Exception e) { > ... > } > } > ... > }); > ... > } > {code} > RemoteFileProducer implements ServicePoolAware so it would normally go back > to the pool, but InterceptSendToEndpoint _does not_. As a result, our > producers keep getting stopped (note that RemoteFileProducer#isSingleton > always returns false). > What's more, somehow they _are_ being reused and in the end we run into > situations, where one thread is closing a producer, while another thread is > trying to write with it. > I set up some breakpoints that log the thread name and > System#identityHashCode of the producer: > {code} > 2018-02-08 15:05:25.070 TRACE o.a.c.c.file.remote.RemoteFileProducer : > Starting producer: RemoteFileProducer[...] > 2018-02-08 15:05:25.073 TRACE o.a.c.c.file.remote.RemoteFileProducer : > Processing file: [my_file] for exchange: ... > 2018-02-08 15:05:25.073 DEBUG o.a.c.c.file.remote.RemoteFileProducer : > Not already connected/logged in. Connecting to: ... > doStop(), time: 1518098725112, thread [Camel (camel-1) thread #35 - > CamelInvocationHandler], producer: 889747012 > at > org.apache.camel.component.file.remote.RemoteFileProducer.doStop(RemoteFileProducer.java:175) > at org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102) > at > org.apache.camel.util.ServiceHelper.stopService(ServiceHelper.java:142) > at > org.apache.camel.impl.InterceptSendToEndpoint$1.stop(InterceptSendToEndpoint.java:196) > at > org.apache.camel.support.ServiceSupport.shutdown(ServiceSupport.java:164) > at > org.apache.camel.util.ServiceHelper.stopAndShutdownService(ServiceHelper.java:211) > at > org.apache.camel.impl.ProducerCache.lambda$doInAsyncProducer$2(ProducerCache.java:450) > at > org.apache.camel.processor.SendProcessor$2$1.done(SendProcessor.java:178) > at > org.apache.camel.impl.InterceptSendToEndpoint$1.process(InterceptSendToEndpoint.java:171) > at > org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:173) > at > org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:436) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:168) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:120) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) > at >
[jira] [Commented] (CAMEL-12262) DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE Incorrect
[ https://issues.apache.org/jira/browse/CAMEL-12262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16364069#comment-16364069 ] Lyubomir commented on CAMEL-12262: -- Hi [~coheigea] dcumentation only got fixed yesterday there was a small "formatting" bug :) . I don't personally mind whether 3DES is excluded by default, what is important is that documentation is clear on that. I do agree with you for the second part, as I personally found the current approach slightly confusing. All that said - good job so far guys. > DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE Incorrect > -- > > Key: CAMEL-12262 > URL: https://issues.apache.org/jira/browse/CAMEL-12262 > Project: Camel > Issue Type: Task > Components: documentation >Reporter: Lyubomir >Assignee: Claus Ibsen >Priority: Minor > Fix For: 2.21.0 > > > The [official > documentation|http://camel.apache.org/camel-configuration-utilities.html] > states the default cipher suites exclude filters are: > {code:java} > .*NULL.* > .*anon.* > .*DES.* Camel 2.15.4 =>Means 3DES **is** excluded > .*EXPORT.* Camel 2.15.4 > {code} > The default cipher suite exclude filter declared is: > {code:java} > /camel-core/src/main/java/org/apache/camel/util/jsse/BaseSSLContextParameters.java > {code} > {code:java} > protected static final List DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE = > Collections.unmodifiableList(Arrays.asList(".*_NULL_.*", > ".*_anon_.*", ".*_EXPORT_.*", ".*_DES_.*")); > {code} > According to the documentation 3DES will be excluded by default. Based on the > code only DES will be excluded. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (CAMEL-12262) DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE Incorrect
[ https://issues.apache.org/jira/browse/CAMEL-12262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16363861#comment-16363861 ] Colm O hEigeartaigh commented on CAMEL-12262: - Hi [~davsclaus], I disagree that the documentation states that 3DES is excluded - the filter given is "{{.*_DES_.*}}" which only applies to DES. It would be ".*_3DES_.*" if it applied to 3DES. I don't think we need to exclude 3DES as well, it's still considered secure. For example it is on the default "enabled" cipher suite algorithms in Java 8: [https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html] However, I think maybe we could change how we filter algorithms in general starting with the next major release. CXF only applies the default "excludes" if there is a corresponding "includes" filter. If there are no filters it just uses the JVM defaults, which already exclude the weak algorithms by default in recent JDK versions. Colm. > DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE Incorrect > -- > > Key: CAMEL-12262 > URL: https://issues.apache.org/jira/browse/CAMEL-12262 > Project: Camel > Issue Type: Task > Components: documentation >Reporter: Lyubomir >Assignee: Claus Ibsen >Priority: Minor > Fix For: 2.21.0 > > > The [official > documentation|http://camel.apache.org/camel-configuration-utilities.html] > states the default cipher suites exclude filters are: > {code:java} > .*NULL.* > .*anon.* > .*DES.* Camel 2.15.4 =>Means 3DES **is** excluded > .*EXPORT.* Camel 2.15.4 > {code} > The default cipher suite exclude filter declared is: > {code:java} > /camel-core/src/main/java/org/apache/camel/util/jsse/BaseSSLContextParameters.java > {code} > {code:java} > protected static final List DEFAULT_CIPHER_SUITES_FILTER_EXCLUDE = > Collections.unmodifiableList(Arrays.asList(".*_NULL_.*", > ".*_anon_.*", ".*_EXPORT_.*", ".*_DES_.*")); > {code} > According to the documentation 3DES will be excluded by default. Based on the > code only DES will be excluded. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (CAMEL-5469) CxfRsProducer is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-5469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16363711#comment-16363711 ] John Poth commented on CAMEL-5469: -- Hi [~batwad], you may want to try out CAMEL-9628 which is available since 2.17. With the singleton property set to true, Camel will only create one instance of CxfRsProducer and ConcurrentModificationException should be avoided. HTH > CxfRsProducer is not thread safe > > > Key: CAMEL-5469 > URL: https://issues.apache.org/jira/browse/CAMEL-5469 > Project: Camel > Issue Type: Bug > Components: camel-cxf >Affects Versions: 2.10.0 > Environment: apache-maven-3.0 > tomcat 6.0.35 >Reporter: Dumitru Pascu >Assignee: Willem Jiang >Priority: Major > Fix For: 2.11.0 > > Attachments: CamelRoute.java, > CxfRsProducerClientFactoryCacheTest.java, > CxfRsProducerClientFactoryCacheTest1.xml, camel-example-cxf-tomcat.zip > > > The example is based on the camel-example-cxf-tomcat. > Components: > 1. Have a CXF rest web service configured in camel-config. > 2. Have a Camel CXF client cxf:rsClient used to call web service from point 1. > 3. Have a Camel CXF server cxf:rsServer which acts as a proxy for service > from point 1 by passing inbount message towards client from point 2. > Flow: > 1. Service 3 receives message > 2. Message is passed to component 2 (Camel cxf client) > 3. Component 2 invokes service 1 > 4. Response received is transformed using a custom processor > Problem: > When having multiple requests in parallel, following error appears > (CxfRsProducer does not seem to be thread safe): > {noformat} > java.lang.RuntimeException: java.util.ConcurrentModificationException > at > org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWebClient(JAXRSClientFactoryBean.java:217)[cxf-rt-frontend-jaxrs-2.6.1.jar:2.6.1] > at > org.apache.camel.component.cxf.jaxrs.CxfRsProducer.invokeHttpClient(CxfRsProducer.java:100)[camel-cxf-2.10.0.jar:2.10.0] > at > org.apache.camel.component.cxf.jaxrs.CxfRsProducer.process(CxfRsProducer.java:87)[camel-cxf-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)[camel-core-2.10.0.jar:2.10.0] > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0] > at >
[jira] [Comment Edited] (CAMEL-5469) CxfRsProducer is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-5469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16362063#comment-16362063 ] Alex Furmanski edited comment on CAMEL-5469 at 2/14/18 9:08 AM: FYI I have encountered this exception in Camel 2.15 {noformat} java.lang.RuntimeException: java.util.ConcurrentModificationException at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWebClient(JAXRSClientFactoryBean.java:233) at org.apache.camel.component.cxf.jaxrs.CxfRsProducer.invokeHttpClient(CxfRsProducer.java:164) at org.apache.camel.component.cxf.jaxrs.CxfRsProducer.process(CxfRsProducer.java:90) at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:167) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:304) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:162) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) at org.apache.camel.processor.Pipeline.process(Pipeline.java:121) at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:68) at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:375) at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:343) at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233) at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:343) at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:201) at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:128) at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:132) ... 7 more Caused by: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) at java.util.ArrayList$Itr.next(ArrayList.java:859) at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.applyFeatures(JAXRSClientFactoryBean.java:408) at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.initClient(JAXRSClientFactoryBean.java:372) at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWebClient(JAXRSClientFactoryBean.java:225) ... 30 more {noformat} was (Author: batwad): FYI I have encountered this exception in Camel 2.15 {noformat} java.util.concurrent.ExecutionException: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: hello world] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.example.ConcurrencyTest.testConcurrently(ConcurrencyTest.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at
[jira] [Resolved] (CAMEL-12242) camel-wordpres feature
[ https://issues.apache.org/jira/browse/CAMEL-12242?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrea Cosentino resolved CAMEL-12242. -- Resolution: Fixed > camel-wordpres feature > -- > > Key: CAMEL-12242 > URL: https://issues.apache.org/jira/browse/CAMEL-12242 > Project: Camel > Issue Type: Task > Components: karaf >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 2.21.0 > > > We should try to see if we can get this to work on osgi and have a karaf > feature for it > And also an unit test in tests/camel-itest-karaf -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (CAMEL-12242) camel-wordpres feature
[ https://issues.apache.org/jira/browse/CAMEL-12242?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrea Cosentino reassigned CAMEL-12242: Assignee: Andrea Cosentino > camel-wordpres feature > -- > > Key: CAMEL-12242 > URL: https://issues.apache.org/jira/browse/CAMEL-12242 > Project: Camel > Issue Type: Task > Components: karaf >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 2.21.0 > > > We should try to see if we can get this to work on osgi and have a karaf > feature for it > And also an unit test in tests/camel-itest-karaf -- This message was sent by Atlassian JIRA (v7.6.3#76005)