[jira] [Created] (CAMEL-12267) Make CometD transport properties configurable

2018-02-14 Thread Zoran Regvart (JIRA)
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

2018-02-14 Thread Claus Ibsen (JIRA)

 [ 
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

2018-02-14 Thread Lyubomir (JIRA)

[ 
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

2018-02-14 Thread Colm O hEigeartaigh (JIRA)

[ 
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

2018-02-14 Thread John Poth (JIRA)

[ 
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

2018-02-14 Thread Alex Furmanski (JIRA)

[ 
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

2018-02-14 Thread Andrea Cosentino (JIRA)

 [ 
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

2018-02-14 Thread Andrea Cosentino (JIRA)

 [ 
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)