[jira] [Created] (CAMEL-8274) The maxResults option has no effect on the number of results
Emilien created CAMEL-8274: -- Summary: The maxResults option has no effect on the number of results Key: CAMEL-8274 URL: https://issues.apache.org/jira/browse/CAMEL-8274 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien The max result option defined on the endpoint does not stop the hbase scanner. To be more convenient, the max result should also be dynamicaly passed as a header (for example with a CamelHBaseMaxScanResults header). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8275) Propagation of in message headers
Emilien created CAMEL-8275: -- Summary: Propagation of in message headers Key: CAMEL-8275 URL: https://issues.apache.org/jira/browse/CAMEL-8275 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien By default, the input exchange message headers are not propagated when the get/scan method is called. It is not convenient in routes if you want to call others endpoints after the hbase enpoint. Instead of extending the HeaderMappingStrategy or implementing your own strategy, the HeaderMappingStrategy should propagates input message headers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8274) The maxResults option has no effect on the number of results
[ https://issues.apache.org/jira/browse/CAMEL-8274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emilien updated CAMEL-8274: --- Attachment: camel-hbase.patch Here the patch that fix bugs : https://issues.apache.org/jira/browse/CAMEL-8277 https://issues.apache.org/jira/browse/CAMEL-8276 https://issues.apache.org/jira/browse/CAMEL-8275 https://issues.apache.org/jira/browse/CAMEL-8274 https://issues.apache.org/jira/browse/CAMEL-8268 The maxResults option has no effect on the number of results Key: CAMEL-8274 URL: https://issues.apache.org/jira/browse/CAMEL-8274 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Attachments: camel-hbase.patch The max result option defined on the endpoint does not stop the hbase scanner. To be more convenient, the max result should also be dynamicaly passed as a header (for example with a CamelHBaseMaxScanResults header). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8268) camel-hbase - The scan method is not thread safe when using a filter list
[ https://issues.apache.org/jira/browse/CAMEL-8268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emilien updated CAMEL-8268: --- Attachment: camel-hbase.patch Here the patch that fix bugs : https://issues.apache.org/jira/browse/CAMEL-8277 https://issues.apache.org/jira/browse/CAMEL-8276 https://issues.apache.org/jira/browse/CAMEL-8275 https://issues.apache.org/jira/browse/CAMEL-8274 https://issues.apache.org/jira/browse/CAMEL-8268 camel-hbase - The scan method is not thread safe when using a filter list - Key: CAMEL-8268 URL: https://issues.apache.org/jira/browse/CAMEL-8268 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Fix For: 2.14.2, 2.15.0 Attachments: camel-hbase.patch The scan method is not thread safe when using a filter list. A concurrent call on the endpoint will produce wrong values because the same FilterList is used between threads. Cloning the passed filter list solve the problem. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8276) Add timestamp on returned HBase objects
[ https://issues.apache.org/jira/browse/CAMEL-8276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emilien updated CAMEL-8276: --- Attachment: camel-hbase.patch Here the patch that fix bugs : https://issues.apache.org/jira/browse/CAMEL-8277 https://issues.apache.org/jira/browse/CAMEL-8276 https://issues.apache.org/jira/browse/CAMEL-8275 https://issues.apache.org/jira/browse/CAMEL-8274 https://issues.apache.org/jira/browse/CAMEL-8268 Add timestamp on returned HBase objects --- Key: CAMEL-8276 URL: https://issues.apache.org/jira/browse/CAMEL-8276 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Attachments: camel-hbase.patch The returned objects for scan / get methods does not contains the HBase timestamp. A timestamp field could be added on HBaseRow/HBaseCell classes to allow to get access to timestamps in mapping strategies / routes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8275) Propagation of in message headers
[ https://issues.apache.org/jira/browse/CAMEL-8275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emilien updated CAMEL-8275: --- Attachment: camel-hbase.patch Here the patch that fix bugs : https://issues.apache.org/jira/browse/CAMEL-8277 https://issues.apache.org/jira/browse/CAMEL-8276 https://issues.apache.org/jira/browse/CAMEL-8275 https://issues.apache.org/jira/browse/CAMEL-8274 https://issues.apache.org/jira/browse/CAMEL-8268 Propagation of in message headers - Key: CAMEL-8275 URL: https://issues.apache.org/jira/browse/CAMEL-8275 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Attachments: camel-hbase.patch By default, the input exchange message headers are not propagated when the get/scan method is called. It is not convenient in routes if you want to call others endpoints after the hbase enpoint. Instead of extending the HeaderMappingStrategy or implementing your own strategy, the HeaderMappingStrategy should propagates input message headers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8276) Add timestamp on returned HBase objects
Emilien created CAMEL-8276: -- Summary: Add timestamp on returned HBase objects Key: CAMEL-8276 URL: https://issues.apache.org/jira/browse/CAMEL-8276 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien The returned objects for scan / get methods does not contains the HBase timestamp. A timestamp field could be added on HBaseRow/HBaseCell classes to allow to get access to timestamps in mapping strategies / routes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8277) Provide a row prefix filter for the scan method
Emilien created CAMEL-8277: -- Summary: Provide a row prefix filter for the scan method Key: CAMEL-8277 URL: https://issues.apache.org/jira/browse/CAMEL-8277 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien It can be useful to perform some scan requests based on a HBase row prefix filter. A ModelAwareRowPrefixMatchingFilter filter could be added to the existing set of available filters. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8277) Provide a row prefix filter for the scan method
[ https://issues.apache.org/jira/browse/CAMEL-8277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emilien updated CAMEL-8277: --- Attachment: camel-hbase.patch Here the patch that fix bugs : https://issues.apache.org/jira/browse/CAMEL-8277 https://issues.apache.org/jira/browse/CAMEL-8276 https://issues.apache.org/jira/browse/CAMEL-8275 https://issues.apache.org/jira/browse/CAMEL-8274 https://issues.apache.org/jira/browse/CAMEL-8268 Provide a row prefix filter for the scan method --- Key: CAMEL-8277 URL: https://issues.apache.org/jira/browse/CAMEL-8277 Project: Camel Issue Type: Improvement Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Attachments: camel-hbase.patch It can be useful to perform some scan requests based on a HBase row prefix filter. A ModelAwareRowPrefixMatchingFilter filter could be added to the existing set of available filters. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8268) The scan method is not thread safe when using a filter list
[ https://issues.apache.org/jira/browse/CAMEL-8268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen updated CAMEL-8268: --- Fix Version/s: 2.15.0 2.14.2 The scan method is not thread safe when using a filter list --- Key: CAMEL-8268 URL: https://issues.apache.org/jira/browse/CAMEL-8268 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Fix For: 2.14.2, 2.15.0 The scan method is not thread safe when using a filter list. A concurrent call on the endpoint will produce wrong values because the same FilterList is used between threads. Cloning the passed filter list solve the problem. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8268) The scan method is not thread safe when using a filter list
[ https://issues.apache.org/jira/browse/CAMEL-8268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289013#comment-14289013 ] Claus Ibsen commented on CAMEL-8268: Thanks for reporting. Do you work on a patch? The scan method is not thread safe when using a filter list --- Key: CAMEL-8268 URL: https://issues.apache.org/jira/browse/CAMEL-8268 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Fix For: 2.14.2, 2.15.0 The scan method is not thread safe when using a filter list. A concurrent call on the endpoint will produce wrong values because the same FilterList is used between threads. Cloning the passed filter list solve the problem. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8268) camel-hbase - The scan method is not thread safe when using a filter list
[ https://issues.apache.org/jira/browse/CAMEL-8268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen updated CAMEL-8268: --- Summary: camel-hbase - The scan method is not thread safe when using a filter list (was: The scan method is not thread safe when using a filter list) camel-hbase - The scan method is not thread safe when using a filter list - Key: CAMEL-8268 URL: https://issues.apache.org/jira/browse/CAMEL-8268 Project: Camel Issue Type: Bug Components: camel-hbase Affects Versions: 2.14.0 Reporter: Emilien Fix For: 2.14.2, 2.15.0 The scan method is not thread safe when using a filter list. A concurrent call on the endpoint will produce wrong values because the same FilterList is used between threads. Cloning the passed filter list solve the problem. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8264) camel-swagger - Add karaf feature
[ https://issues.apache.org/jira/browse/CAMEL-8264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289011#comment-14289011 ] Claus Ibsen commented on CAMEL-8264: We need a new bundle release of swagger as the current one does not work camel-swagger - Add karaf feature - Key: CAMEL-8264 URL: https://issues.apache.org/jira/browse/CAMEL-8264 Project: Camel Issue Type: Task Components: camel-swagger Reporter: Claus Ibsen Fix For: 2.15.0 So its installable in karaf containers out of the box. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CAMEL-8272) Camel-box socks proxy implementation is incomplete
[ https://issues.apache.org/jira/browse/CAMEL-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289126#comment-14289126 ] Julian Cable edited comment on CAMEL-8272 at 1/23/15 11:49 AM: --- {quote} Index: src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java === --- src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (revision 1598081) +++ src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (working copy) @@ -36,12 +36,19 @@ import org.apache.camel.component.box.BoxConfiguration; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.jsse.SSLContextParameters; +import org.apache.http.HttpHost; import org.apache.http.client.HttpClient; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.params.HttpParams; +import org.apache.http.protocol.HttpContext; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.Proxy; +import javax.net.ssl.SSLContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +73,7 @@ final String userPassword = configuration.getUserPassword(); if ((authSecureStorage == null ObjectHelper.isEmpty(userPassword)) -|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { +|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { throw new IllegalArgumentException( Missing one or more required properties + clientId, clientSecret, userName and either authSecureStorage or userPassword); @@ -76,13 +83,13 @@ // if set, use configured connection manager builder final BoxConnectionManagerBuilder connectionManagerBuilder = configuration.getConnectionManagerBuilder(); final BoxConnectionManagerBuilder connectionManager = connectionManagerBuilder != null -? connectionManagerBuilder : new BoxConnectionManagerBuilder(); +? connectionManagerBuilder : new BoxConnectionManagerBuilder(); // create REST client for BoxClient final ClientConnectionManager[] clientConnectionManager = new ClientConnectionManager[1]; final IBoxRESTClient restClient = new BoxRESTClient(connectionManager.build()) { - @SuppressWarnings(deprecation) - @Override +@SuppressWarnings(deprecation) +@Override public HttpClient getRawHttpClient() { final HttpClient httpClient = super.getRawHttpClient(); clientConnectionManager[0] = httpClient.getConnectionManager(); @@ -91,33 +98,48 @@ if (sslContextParameters == null) { sslContextParameters = new SSLContextParameters(); } -try { -final SSLSocketFactory socketFactory = new SSLSocketFactory( -sslContextParameters.createSSLContext(), -SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); -schemeRegistry.register(new Scheme(https, socketFactory, 443)); -} catch (GeneralSecurityException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} catch (IOException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} - -// set custom HTTP params final MapString, Object configParams = configuration.getHttpParams(); +boolean useSocksProxy = false; +HttpHost proxyHost = null; if (configParams != null !configParams.isEmpty()) { +final Boolean socksProxy = (Boolean) configParams.get(http.route.socks-proxy); + if(socksProxy!=null socksProxy) { + useSocksProxy = true; +proxyHost = (HttpHost) configParams.get(ConnRoutePNames.DEFAULT_PROXY); +} +// set custom HTTP params LOG.debug(Setting {} HTTP Params, configParams.size()); final HttpParams httpParams = httpClient.getParams(); for (Map.EntryString, Object param : configParams.entrySet()) { -httpParams.setParameter(param.getKey(), param.getValue()); + // don't add proxy params if socks +if(!(useSocksProxy
[jira] [Issue Comment Deleted] (CAMEL-8272) Camel-box socks proxy implementation is incomplete
[ https://issues.apache.org/jira/browse/CAMEL-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Cable updated CAMEL-8272: Comment: was deleted (was: {quote} Index: src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java === --- src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (revision 1598081) +++ src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (working copy) @@ -36,12 +36,19 @@ import org.apache.camel.component.box.BoxConfiguration; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.jsse.SSLContextParameters; +import org.apache.http.HttpHost; import org.apache.http.client.HttpClient; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.params.HttpParams; +import org.apache.http.protocol.HttpContext; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.Proxy; +import javax.net.ssl.SSLContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +73,7 @@ final String userPassword = configuration.getUserPassword(); if ((authSecureStorage == null ObjectHelper.isEmpty(userPassword)) -|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { +|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { throw new IllegalArgumentException( Missing one or more required properties + clientId, clientSecret, userName and either authSecureStorage or userPassword); @@ -76,13 +83,13 @@ // if set, use configured connection manager builder final BoxConnectionManagerBuilder connectionManagerBuilder = configuration.getConnectionManagerBuilder(); final BoxConnectionManagerBuilder connectionManager = connectionManagerBuilder != null -? connectionManagerBuilder : new BoxConnectionManagerBuilder(); +? connectionManagerBuilder : new BoxConnectionManagerBuilder(); // create REST client for BoxClient final ClientConnectionManager[] clientConnectionManager = new ClientConnectionManager[1]; final IBoxRESTClient restClient = new BoxRESTClient(connectionManager.build()) { - @SuppressWarnings(deprecation) - @Override +@SuppressWarnings(deprecation) +@Override public HttpClient getRawHttpClient() { final HttpClient httpClient = super.getRawHttpClient(); clientConnectionManager[0] = httpClient.getConnectionManager(); @@ -91,33 +98,48 @@ if (sslContextParameters == null) { sslContextParameters = new SSLContextParameters(); } -try { -final SSLSocketFactory socketFactory = new SSLSocketFactory( -sslContextParameters.createSSLContext(), -SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); -schemeRegistry.register(new Scheme(https, socketFactory, 443)); -} catch (GeneralSecurityException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} catch (IOException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} - -// set custom HTTP params final MapString, Object configParams = configuration.getHttpParams(); +boolean useSocksProxy = false; +HttpHost proxyHost = null; if (configParams != null !configParams.isEmpty()) { +final Boolean socksProxy = (Boolean) configParams.get(http.route.socks-proxy); + if(socksProxy!=null socksProxy) { + useSocksProxy = true; +proxyHost = (HttpHost) configParams.get(ConnRoutePNames.DEFAULT_PROXY); +} +// set custom HTTP params LOG.debug(Setting {} HTTP Params, configParams.size()); final HttpParams httpParams = httpClient.getParams(); for (Map.EntryString, Object param : configParams.entrySet()) { -httpParams.setParameter(param.getKey(), param.getValue()); + // don't add proxy params if socks +if(!(useSocksProxy (param.getKey().equals(http.route.socks-proxy) || param.getKey().equals(ConnRoutePNames.DEFAULT_PROXY { +
[jira] [Updated] (CAMEL-8272) Camel-box socks proxy implementation is incomplete
[ https://issues.apache.org/jira/browse/CAMEL-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Cable updated CAMEL-8272: Attachment: patch.txt Patch to BoxClientHelper.java Camel-box socks proxy implementation is incomplete -- Key: CAMEL-8272 URL: https://issues.apache.org/jira/browse/CAMEL-8272 Project: Camel Issue Type: Bug Affects Versions: 2.14.1 Environment: any Reporter: Julian Cable Attachments: patch.txt org.apache.camel.component.box.internal.LoginAuthFlowUI looks for http.route.socks-proxy and sets up a socks proxy for the webClient org.apache.camel.component.box.internal.BoxClientHelper just passes the httpParams on to the underlying HttpClient but the box api uses a vanilla DefaultHttpClient which doesn't talk SOCKS. The attached patch adds socks proxy support to the main restful box transactions. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8273) More flexible selection of default documentType in XPath expressions
Stephan Siano created CAMEL-8273: Summary: More flexible selection of default documentType in XPath expressions Key: CAMEL-8273 URL: https://issues.apache.org/jira/browse/CAMEL-8273 Project: Camel Issue Type: Improvement Components: camel-core Affects Versions: 2.15.0 Reporter: Stephan Siano In the current implementation of XPath if no documentType is defined (likely in most cases) the document used for XPath evaluation is parsed into a (DOM) Document using the JDK XML parser before applying the XPath expression on it. For large documents this might be resource intensive, especially if the XPath is evaluated using a more efficient parser like Saxon. With the current implementation it is possible to workaround this by setting a documentType attribute to the XPath expression, but doing this efficiently requires some internal knowledge about the previous component in the camel route (which type it creates) and the qualities of the used XML parser (e.g. the JDK parser accepts only InputSource and Node as input types for XPath evaluation whereas Saxon does also support other types like SAXSource). The attached patch will make the data type used by default for XPath evaluation more flexible (depending on the type of the input). There are two cases to differentiate: documentType is set on the XPath expression: current implementation: 1. try to convert to the documentType 2. if that fails do some extra conversions for some additional data types (WrappedFile, BeanInvocation, String) 3. if that fails throw an exception new implementation: 1. try to convert to the documentType 2. if that fails, use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) 3. if that fails throw an exception documentType is not set on the XPath expresson old implementation: this is actually the same as if documentType was set to Document new implementation: 1. Use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) (to InputSource) 2. If the old message is not of one of the types above, convert to DOM Document 3. If this fails throw an Exception -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8270) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Hendy Irawan updated CAMEL-8270: Description: Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ has the default exchange -so it's not required to specify {{amq.direct}} explicitly.-, and this makes it impossible to send to that exchange (which is different than {{amq.direct}}). {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:805) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2174) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1906) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1767) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at
[jira] [Commented] (CAMEL-7003) RabbitMQ Producer cannot create exchanges, queues
[ https://issues.apache.org/jira/browse/CAMEL-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289171#comment-14289171 ] Hendy Irawan commented on CAMEL-7003: - This ticket conflates exchange/queue creation with the issue of not being able to send to default exchange. I've created a ticket which is specifically about the default exchange : CAMEL-8270 RabbitMQ Producer cannot create exchanges, queues - Key: CAMEL-7003 URL: https://issues.apache.org/jira/browse/CAMEL-7003 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.12.1 Environment: RabbitMQ 3.2.0 on CentOS 6.4 (running in VMWare Workstation 9.0.2 build-1031769) Camel 2.12.1 running in Eclipse Helios on Windows 7 Reporter: Jason Foster Assignee: Willem Jiang There doesn't seem to be a way to have the producer declare an exchange or a queue. The following route demonstrates this problem: from(stream:in?promptMessage=Enter message payload: ) .to(rabbitmq://server:port/direct?queue=defectusername=guestpassword=guest); There also is no way for the producer to use the default exchange, (which has no name). You cannot set an exchange name as a header with an empty string, and specifying 'direct' on the exchange uri also doesn't work. However, the consumer appears to work and will declare at least queues, even on the default exchange. The producer appears to only work with previously declared exchanges and queues, which isn't practical, especially in recovery situations, since you cannot guarantee the order things will start (producer vs. consumer) and the producer doesn't attempt any type of re-delivery in the case that the exchange/queue doesn't exist, nor does it indicate via logging or exceptions that there is a problem with delivery. In Rabbit, creating exchanges and queues are both idempotent operations, so it wouldn't hurt to call the methods to declare the exchange and queue, regardless of whether they previously existed. If you set up an endpoint to a non-existent queue and want to use the default direct exchange, you can't do that with this component. If an exchange and queue are created outside the component, (say by a consumer or using rabbitmq management console) then the producer works correctly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8272) Camel-box socks proxy implementation is incomplete
Julian Cable created CAMEL-8272: --- Summary: Camel-box socks proxy implementation is incomplete Key: CAMEL-8272 URL: https://issues.apache.org/jira/browse/CAMEL-8272 Project: Camel Issue Type: Bug Affects Versions: 2.14.1 Environment: any Reporter: Julian Cable org.apache.camel.component.box.internal.LoginAuthFlowUI looks for http.route.socks-proxy and sets up a socks proxy for the webClient org.apache.camel.component.box.internal.BoxClientHelper just passes the httpParams on to the underlying HttpClient but the box api uses a vanilla DefaultHttpClient which doesn't talk SOCKS. The attached patch adds socks proxy support to the main restful box transactions. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8272) Camel-box socks proxy implementation is incomplete
[ https://issues.apache.org/jira/browse/CAMEL-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289126#comment-14289126 ] Julian Cable commented on CAMEL-8272: - Index: src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java === --- src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (revision 1598081) +++ src/main/java/org/apache/camel/component/box/internal/BoxClientHelper.java (working copy) @@ -36,12 +36,19 @@ import org.apache.camel.component.box.BoxConfiguration; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.jsse.SSLContextParameters; +import org.apache.http.HttpHost; import org.apache.http.client.HttpClient; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.params.HttpParams; +import org.apache.http.protocol.HttpContext; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.Proxy; +import javax.net.ssl.SSLContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +73,7 @@ final String userPassword = configuration.getUserPassword(); if ((authSecureStorage == null ObjectHelper.isEmpty(userPassword)) -|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { +|| ObjectHelper.isEmpty(userName) || ObjectHelper.isEmpty(clientId) || ObjectHelper.isEmpty(clientSecret)) { throw new IllegalArgumentException( Missing one or more required properties + clientId, clientSecret, userName and either authSecureStorage or userPassword); @@ -76,13 +83,13 @@ // if set, use configured connection manager builder final BoxConnectionManagerBuilder connectionManagerBuilder = configuration.getConnectionManagerBuilder(); final BoxConnectionManagerBuilder connectionManager = connectionManagerBuilder != null -? connectionManagerBuilder : new BoxConnectionManagerBuilder(); +? connectionManagerBuilder : new BoxConnectionManagerBuilder(); // create REST client for BoxClient final ClientConnectionManager[] clientConnectionManager = new ClientConnectionManager[1]; final IBoxRESTClient restClient = new BoxRESTClient(connectionManager.build()) { - @SuppressWarnings(deprecation) - @Override +@SuppressWarnings(deprecation) +@Override public HttpClient getRawHttpClient() { final HttpClient httpClient = super.getRawHttpClient(); clientConnectionManager[0] = httpClient.getConnectionManager(); @@ -91,33 +98,48 @@ if (sslContextParameters == null) { sslContextParameters = new SSLContextParameters(); } -try { -final SSLSocketFactory socketFactory = new SSLSocketFactory( -sslContextParameters.createSSLContext(), -SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); -schemeRegistry.register(new Scheme(https, socketFactory, 443)); -} catch (GeneralSecurityException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} catch (IOException e) { -throw ObjectHelper.wrapRuntimeCamelException(e); -} - -// set custom HTTP params final MapString, Object configParams = configuration.getHttpParams(); +boolean useSocksProxy = false; +HttpHost proxyHost = null; if (configParams != null !configParams.isEmpty()) { +final Boolean socksProxy = (Boolean) configParams.get(http.route.socks-proxy); + if(socksProxy!=null socksProxy) { + useSocksProxy = true; +proxyHost = (HttpHost) configParams.get(ConnRoutePNames.DEFAULT_PROXY); +} +// set custom HTTP params LOG.debug(Setting {} HTTP Params, configParams.size()); final HttpParams httpParams = httpClient.getParams(); for (Map.EntryString, Object param : configParams.entrySet()) { -httpParams.setParameter(param.getKey(), param.getValue()); + // don't add proxy params if socks +if(!(useSocksProxy (param.getKey().equals(http.route.socks-proxy) ||
[jira] [Updated] (CAMEL-8270) camel-rabbitmq: exchangeName in URI should be optional, i.e. default exchange/amq.direct
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Hendy Irawan updated CAMEL-8270: Priority: Major (was: Trivial) camel-rabbitmq: exchangeName in URI should be optional, i.e. default exchange/amq.direct Key: CAMEL-8270 URL: https://issues.apache.org/jira/browse/CAMEL-8270 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ supports the default exchange so it's not required to specify {{amq.direct}} explicitly. {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:805) at
[jira] [Updated] (CAMEL-8270) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Hendy Irawan updated CAMEL-8270: Summary: camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange (was: camel-rabbitmq: exchangeName in URI should be optional, i.e. default exchange/amq.direct) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange -- Key: CAMEL-8270 URL: https://issues.apache.org/jira/browse/CAMEL-8270 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ supports the default exchange so it's not required to specify {{amq.direct}} explicitly. {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187) at
[jira] [Updated] (CAMEL-8258) camel-twitter - Support Streaming from User Endpoint including Direct Messages
[ https://issues.apache.org/jira/browse/CAMEL-8258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen updated CAMEL-8258: --- Estimated Complexity: Novice (was: Unknown) camel-twitter - Support Streaming from User Endpoint including Direct Messages -- Key: CAMEL-8258 URL: https://issues.apache.org/jira/browse/CAMEL-8258 Project: Camel Issue Type: Improvement Components: camel-twitter Affects Versions: 2.14.1 Reporter: Hendy Irawan Fix For: Future Please support streaming from User endpoint ({{twitter://streaming/filter}} Camel URI?) including Direct Messages, which is supported by twitter4j but currently ignored by camel-twitter. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8258) camel-twitter - Support Streaming from User Endpoint including Direct Messages
[ https://issues.apache.org/jira/browse/CAMEL-8258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289016#comment-14289016 ] Claus Ibsen commented on CAMEL-8258: People is welcome to work on a patch to implement this. We love contributions. camel-twitter - Support Streaming from User Endpoint including Direct Messages -- Key: CAMEL-8258 URL: https://issues.apache.org/jira/browse/CAMEL-8258 Project: Camel Issue Type: Improvement Components: camel-twitter Affects Versions: 2.14.1 Reporter: Hendy Irawan Fix For: Future Please support streaming from User endpoint ({{twitter://streaming/filter}} Camel URI?) including Direct Messages, which is supported by twitter4j but currently ignored by camel-twitter. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8258) camel-twitter - Support Streaming from User Endpoint including Direct Messages
[ https://issues.apache.org/jira/browse/CAMEL-8258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen updated CAMEL-8258: --- Fix Version/s: Future Summary: camel-twitter - Support Streaming from User Endpoint including Direct Messages (was: Support Streaming from User Endpoint including Direct Messages) camel-twitter - Support Streaming from User Endpoint including Direct Messages -- Key: CAMEL-8258 URL: https://issues.apache.org/jira/browse/CAMEL-8258 Project: Camel Issue Type: Improvement Components: camel-twitter Affects Versions: 2.14.1 Reporter: Hendy Irawan Fix For: Future Please support streaming from User endpoint ({{twitter://streaming/filter}} Camel URI?) including Direct Messages, which is supported by twitter4j but currently ignored by camel-twitter. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8266) [camel-sftp] Allow directories which are un-readable to be ignored on permission error
[ https://issues.apache.org/jira/browse/CAMEL-8266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289015#comment-14289015 ] Claus Ibsen commented on CAMEL-8266: Yeah I think #1 is also the better. Looking forward to a patch. Mind that camel-ftp has 2 libraries one for regular and another for sftp, so you may need to thinker with the code in two places. [camel-sftp] Allow directories which are un-readable to be ignored on permission error -- Key: CAMEL-8266 URL: https://issues.apache.org/jira/browse/CAMEL-8266 Project: Camel Issue Type: Improvement Components: camel-sftp Affects Versions: 2.14.1 Reporter: Shreyas Purohit Priority: Minor Original Estimate: 8h Remaining Estimate: 8h When reading from SFTP server recursively it is possible that we read a directory that are not having permission to be read. Specifically, lost+found directory created by the OS with root permission. We should be able to ignore these kind of errors. I can fix this and submit patch but would need guidance towards the better approach: 1. Re-use IgnoreFileNotFoundOrPermissionError flag and extend its functionality 2. Add a new flag to ignore these errors I think the first approach is better as I consider directories to be also a special type of files. I can work on this if you let me know which way to go from someone in Apache Camel team. Thanks, Shreyas Purohit -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CAMEL-8263) Add adapt(T) to CamelContext to use instead of type cast to ModelCamelContext
[ https://issues.apache.org/jira/browse/CAMEL-8263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen resolved CAMEL-8263. Resolution: Fixed Add adapt(T) to CamelContext to use instead of type cast to ModelCamelContext - Key: CAMEL-8263 URL: https://issues.apache.org/jira/browse/CAMEL-8263 Project: Camel Issue Type: Improvement Components: camel-core Reporter: Claus Ibsen Assignee: Claus Ibsen Fix For: 2.15.0 .. and remove the @deprecation on the CamelContext api as it causes confusion for people and just more work to work with 2 types. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8271) camel-rabbitmq: Builtin exchanges should not require autoDelete exchangeType properties
Hendy Irawan created CAMEL-8271: --- Summary: camel-rabbitmq: Builtin exchanges should not require autoDelete exchangeType properties Key: CAMEL-8271 URL: https://issues.apache.org/jira/browse/CAMEL-8271 Project: Camel Issue Type: Improvement Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Priority: Trivial Currently all exchanges must set the {{autoDelete}} and {{exchangeType}} properties, and cannot be left empty, otherwise camel-rabbitmq will complain that these don't match. The RabbitMQ builtin exchanges have predefined behavior and should be usable from {{camel-rabbitmq}} without setting these properties: 1. / amq.direct 2. amq.fanout 3. amq.topic 4. amq.match, amq.headers Reference: https://www.rabbitmq.com/tutorials/amqp-concepts.html Relates to CAMEL-8270 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CAMEL-8254) camel-elasticsearch - Test hangs
[ https://issues.apache.org/jira/browse/CAMEL-8254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen resolved CAMEL-8254. Resolution: Fixed Assignee: Claus Ibsen camel-elasticsearch - Test hangs Key: CAMEL-8254 URL: https://issues.apache.org/jira/browse/CAMEL-8254 Project: Camel Issue Type: Test Components: camel-elasticsearch, tests Affects Versions: 2.15.0 Reporter: Claus Ibsen Assignee: Claus Ibsen Priority: Minor Fix For: 2.15.0 For some reason this test hangs on my laptop each time I do a full Camel test. {code} --- T E S T S --- Running org.apache.camel.component.elasticsearch.ElasticsearchComponentConfigurationAndDocumentationTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.475 sec - in org.apache.camel.component.elasticsearch.ElasticsearchComponentConfigurationAndDocumentationTest Running org.apache.camel.component.elasticsearch.ElasticsearchComponentTest Results : Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 {code} And maven just report some generic error. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CAMEL-8270) camel-rabbitmq: exchangeName in URI should be optional, i.e. default exchange/amq.direct
Hendy Irawan created CAMEL-8270: --- Summary: camel-rabbitmq: exchangeName in URI should be optional, i.e. default exchange/amq.direct Key: CAMEL-8270 URL: https://issues.apache.org/jira/browse/CAMEL-8270 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Priority: Trivial Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ supports the default exchange so it's not required to specify {{amq.direct}} explicitly. {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:805) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2174) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1906) at
[jira] [Created] (CAMEL-8269) camel-salesforce: support for Salesforce Apex API
Daniel Pocock created CAMEL-8269: Summary: camel-salesforce: support for Salesforce Apex API Key: CAMEL-8269 URL: https://issues.apache.org/jira/browse/CAMEL-8269 Project: Camel Issue Type: New Feature Components: camel-salesforce Affects Versions: 2.14.1 Environment: n/a Reporter: Daniel Pocock Salesforce provides a service that they call the Apex API. Using Apex, a developer can write a script and upload it into Salesforce.com and have it executed in the server, similar to putting a stored procedure into a database. The Apex language is very similar to Java and likely to be very accessible to Camel developers. Here is an example: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_rest_code_sample_basic.htm Notice that each method implementd in the Apex system can define new URLs for handling REST requests. The URL, the format of input data and the format of the return value are arbitrary and at the discretion of the developer. It is not uncommon for developers to use SObjects as input or output and the existing DTOs from the camel-salesforce component would be suitable for interaction with Apex. A typical use case for the Apex API is implementing the convertLead method for REST. The Salesforce SOAP API provides a mechanism for developers to request lead conversion. The Salesforce REST API does not have the convertLead() method. The simplest and most common way to work around this limitation is to implement convertLead() in Apex, here is an example: http://stackoverflow.com/questions/19663119/is-there-any-rest-service-available-in-saleforce-to-convert-leads-into-accounts -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8270) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289181#comment-14289181 ] Hendy Irawan commented on CAMEL-8270: - Workaround: {code} it.out.headers['rabbitmq.EXCHANGE_NAME'] = '' ... .to('rabbitmq://localhost/dummy?connectionFactory=#amqpConnFactoryautoDelete=false') // 'dummy' will be ignored {code} camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange -- Key: CAMEL-8270 URL: https://issues.apache.org/jira/browse/CAMEL-8270 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ has the default exchange -so it's not required to specify {{amq.direct}} explicitly.-, and this makes it impossible to send to that exchange (which is different than {{amq.direct}}). Should have been fixed by CAMEL-7031 (2.12.3) but still happens in 2.14.1 (probably regression) {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is
[jira] [Updated] (CAMEL-8270) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Hendy Irawan updated CAMEL-8270: Description: Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ has the default exchange -so it's not required to specify {{amq.direct}} explicitly.-, and this makes it impossible to send to that exchange (which is different than {{amq.direct}}). Should have been fixed by CAMEL-7031 (2.12.3) but still happens in 2.14.1 (probably regression) {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:805) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2174) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1906) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1767) at
[jira] [Comment Edited] (CAMEL-7003) RabbitMQ Producer cannot create exchanges, queues
[ https://issues.apache.org/jira/browse/CAMEL-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289171#comment-14289171 ] Hendy Irawan edited comment on CAMEL-7003 at 1/23/15 12:26 PM: --- This ticket conflates exchange/queue creation with the issue of not being able to send to default exchange. I've created a ticket which is specifically about the default exchange : CAMEL-8270, which should have been fixed by CAMEL-7031 (2.12.3) but still happens in 2.14.1 (probably regression) was (Author: ceefour): This ticket conflates exchange/queue creation with the issue of not being able to send to default exchange. I've created a ticket which is specifically about the default exchange : CAMEL-8270 RabbitMQ Producer cannot create exchanges, queues - Key: CAMEL-7003 URL: https://issues.apache.org/jira/browse/CAMEL-7003 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.12.1 Environment: RabbitMQ 3.2.0 on CentOS 6.4 (running in VMWare Workstation 9.0.2 build-1031769) Camel 2.12.1 running in Eclipse Helios on Windows 7 Reporter: Jason Foster Assignee: Willem Jiang There doesn't seem to be a way to have the producer declare an exchange or a queue. The following route demonstrates this problem: from(stream:in?promptMessage=Enter message payload: ) .to(rabbitmq://server:port/direct?queue=defectusername=guestpassword=guest); There also is no way for the producer to use the default exchange, (which has no name). You cannot set an exchange name as a header with an empty string, and specifying 'direct' on the exchange uri also doesn't work. However, the consumer appears to work and will declare at least queues, even on the default exchange. The producer appears to only work with previously declared exchanges and queues, which isn't practical, especially in recovery situations, since you cannot guarantee the order things will start (producer vs. consumer) and the producer doesn't attempt any type of re-delivery in the case that the exchange/queue doesn't exist, nor does it indicate via logging or exceptions that there is a problem with delivery. In Rabbit, creating exchanges and queues are both idempotent operations, so it wouldn't hurt to call the methods to declare the exchange and queue, regardless of whether they previously existed. If you set up an endpoint to a non-existent queue and want to use the default direct exchange, you can't do that with this component. If an exchange and queue are created outside the component, (say by a consumer or using rabbitmq management console) then the producer works correctly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-8270) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange
[ https://issues.apache.org/jira/browse/CAMEL-8270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14289178#comment-14289178 ] Hendy Irawan commented on CAMEL-8270: - Should have been fixed by CAMEL-7031 (2.12.3) but still happens in 2.14.1 (probably regression) camel-rabbitmq: exchangeName in URI must be optional, i.e. default exchange -- Key: CAMEL-8270 URL: https://issues.apache.org/jira/browse/CAMEL-8270 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.14.1 Reporter: Hendy Irawan Leaving out the exchangeName i.e. {{rabbitmq://localhost/}} throws exception below. However RabbitMQ has the default exchange -so it's not required to specify {{amq.direct}} explicitly.-, and this makes it impossible to send to that exchange (which is different than {{amq.direct}}). {code} Exception in thread main org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext' defined in class path resource [id/ac/itb/lumen/persistence/LumenCamelConfiguration.class]: Invocation of init method failed; nested exception is org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at org.springframework.boot.SpringApplication$run.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at id.ac.itb.lumen.persistence.LumenPersistenceApplication.main(LumenPersistenceApplication.groovy:38) 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:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: To[rabbitmq://localhost/?connectionFactory=#amqpConnFactory] in route: Route(route1)[[From[rabbitmq://localhost/amq.topic?connectio... because of Failed to resolve endpoint: rabbitmq://localhost/?connectionFactory=%23amqpConnFactory due to: No URI path as the exchangeName for the RabbitMQEndpoint, the URI is rabbitmq://localhost/?connectionFactory=%23amqpConnFactory at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:945) at
[jira] [Updated] (CAMEL-8273) More flexible selection of default documentType in XPath expressions
[ https://issues.apache.org/jira/browse/CAMEL-8273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephan Siano updated CAMEL-8273: - Attachment: 0001-CAMEL-8273-More-flexible-selection-of-default-docume.patch More flexible selection of default documentType in XPath expressions Key: CAMEL-8273 URL: https://issues.apache.org/jira/browse/CAMEL-8273 Project: Camel Issue Type: Improvement Components: camel-core Affects Versions: 2.15.0 Reporter: Stephan Siano Attachments: 0001-CAMEL-8273-More-flexible-selection-of-default-docume.patch In the current implementation of XPath if no documentType is defined (likely in most cases) the document used for XPath evaluation is parsed into a (DOM) Document using the JDK XML parser before applying the XPath expression on it. For large documents this might be resource intensive, especially if the XPath is evaluated using a more efficient parser like Saxon. With the current implementation it is possible to workaround this by setting a documentType attribute to the XPath expression, but doing this efficiently requires some internal knowledge about the previous component in the camel route (which type it creates) and the qualities of the used XML parser (e.g. the JDK parser accepts only InputSource and Node as input types for XPath evaluation whereas Saxon does also support other types like SAXSource). The attached patch will make the data type used by default for XPath evaluation more flexible (depending on the type of the input). There are two cases to differentiate: documentType is set on the XPath expression: current implementation: 1. try to convert to the documentType 2. if that fails do some extra conversions for some additional data types (WrappedFile, BeanInvocation, String) 3. if that fails throw an exception new implementation: 1. try to convert to the documentType 2. if that fails, use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) 3. if that fails throw an exception documentType is not set on the XPath expresson old implementation: this is actually the same as if documentType was set to Document new implementation: 1. Use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) (to InputSource) 2. If the old message is not of one of the types above, convert to DOM Document 3. If this fails throw an Exception -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CAMEL-8273) More flexible selection of default documentType in XPath expressions
[ https://issues.apache.org/jira/browse/CAMEL-8273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephan Siano updated CAMEL-8273: - Patch Info: Patch Available More flexible selection of default documentType in XPath expressions Key: CAMEL-8273 URL: https://issues.apache.org/jira/browse/CAMEL-8273 Project: Camel Issue Type: Improvement Components: camel-core Affects Versions: 2.15.0 Reporter: Stephan Siano Attachments: 0001-CAMEL-8273-More-flexible-selection-of-default-docume.patch In the current implementation of XPath if no documentType is defined (likely in most cases) the document used for XPath evaluation is parsed into a (DOM) Document using the JDK XML parser before applying the XPath expression on it. For large documents this might be resource intensive, especially if the XPath is evaluated using a more efficient parser like Saxon. With the current implementation it is possible to workaround this by setting a documentType attribute to the XPath expression, but doing this efficiently requires some internal knowledge about the previous component in the camel route (which type it creates) and the qualities of the used XML parser (e.g. the JDK parser accepts only InputSource and Node as input types for XPath evaluation whereas Saxon does also support other types like SAXSource). The attached patch will make the data type used by default for XPath evaluation more flexible (depending on the type of the input). There are two cases to differentiate: documentType is set on the XPath expression: current implementation: 1. try to convert to the documentType 2. if that fails do some extra conversions for some additional data types (WrappedFile, BeanInvocation, String) 3. if that fails throw an exception new implementation: 1. try to convert to the documentType 2. if that fails, use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) 3. if that fails throw an exception documentType is not set on the XPath expresson old implementation: this is actually the same as if documentType was set to Document new implementation: 1. Use the message if it is of type Node, InputSource or DOMSource or do some type conversions for specific data types (WrappedFile, BeanInvocation, String, InputStream, Reader, byte[]...) (to InputSource) 2. If the old message is not of one of the types above, convert to DOM Document 3. If this fails throw an Exception -- This message was sent by Atlassian JIRA (v6.3.4#6332)