[jira] [Commented] (CAMEL-6809) rabbitmq.EXCHANGE_NAME header used in preference to uri exchange name
[ https://issues.apache.org/jira/browse/CAMEL-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021179#comment-14021179 ] ASF GitHub Bot commented on CAMEL-6809: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/47 rabbitmq.EXCHANGE_NAME header used in preference to uri exchange name - Key: CAMEL-6809 URL: https://issues.apache.org/jira/browse/CAMEL-6809 Project: Camel Issue Type: Improvement Components: camel-rabbitmq Affects Versions: 2.12.0 Reporter: Fergus Nelson Assignee: Willem Jiang Fix For: 2.12.3, 2.13.0 RabbitMQProducer.process method uses the existing rabbitmq.EXCHANGE_NAME header in preference to the exchange name that is part of the endpoint uri. This means that when consuming off one exchange and producing onto another, the rabbitmq.EXCHANGE_NAME needs to be explicitally removed, otherwise the messages will not be sent to the exchange name defined in the destinition uri. The exchange name is a required part of the endpoint uri. http://camel.apache.org/rabbitmq.html, so would it be better to ignore the header completely in the RabbitMQProducer? At least then the messages would go where you were expecting them to. Happy to submit a pull request on Github if that helps. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7384) camel-rabbitmq: Allow connection factory tuning
[ https://issues.apache.org/jira/browse/CAMEL-7384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021185#comment-14021185 ] ASF GitHub Bot commented on CAMEL-7384: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/140 camel-rabbitmq: Allow connection factory tuning --- Key: CAMEL-7384 URL: https://issues.apache.org/jira/browse/CAMEL-7384 Project: Camel Issue Type: New Feature Components: camel-rabbitmq Affects Versions: 2.13.0 Reporter: Gérald Quintana Assignee: Willem Jiang Several settings of the {{com.rabbitmq.client.ConnectionFactory}} are not exposed in RabbitMQEndpoint, namely: - automaticRecoveryEnabled - networkRecoveryInterval - topologyRecoveryEnabled - connectionTimeout - requestedHeartbeat - clientProperties - requestedChannelMax - requestedFrameMax - sslProtocol It would be great if we could plug any ConnectionFactory implementation in the endpoint (caching connection factory for instance) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-6821) RabbitMQ Component unable to transfer custom headers
[ https://issues.apache.org/jira/browse/CAMEL-6821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021180#comment-14021180 ] ASF GitHub Bot commented on CAMEL-6821: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/50 RabbitMQ Component unable to transfer custom headers Key: CAMEL-6821 URL: https://issues.apache.org/jira/browse/CAMEL-6821 Project: Camel Issue Type: Bug Components: camel-rabbitmq Affects Versions: 2.12.1 Reporter: Mayank Mishra Assignee: Claus Ibsen Fix For: 2.12.2, 2.13.0 Attachments: 0001-CAMEL-6821-Add-support-for-custom-RabbitMQ-headers.patch, RabbitMQProducer.patch, RabbitMQProducerTest.patch There is no capability to pass in some custom headers through rabbitmq camel component. it seems only well-known headers of AMQP.BasicProperties are supported. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-6999) Camel component for dropbox integration
[ https://issues.apache.org/jira/browse/CAMEL-6999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021181#comment-14021181 ] ASF GitHub Bot commented on CAMEL-6999: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/58 Camel component for dropbox integration --- Key: CAMEL-6999 URL: https://issues.apache.org/jira/browse/CAMEL-6999 Project: Camel Issue Type: New Feature Affects Versions: 2.12.1 Reporter: Giovanni Marigi Assignee: Henryk Konsek Priority: Minor Labels: camel, dropbox Fix For: Future Create a camel component (producers and consumers ) for dropbox integration -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7080) Add support of lazy load to csv data format
[ https://issues.apache.org/jira/browse/CAMEL-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021182#comment-14021182 ] ASF GitHub Bot commented on CAMEL-7080: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/73 Add support of lazy load to csv data format Key: CAMEL-7080 URL: https://issues.apache.org/jira/browse/CAMEL-7080 Project: Camel Issue Type: Improvement Reporter: Daneel S. Yaitskov Assignee: Willem Jiang Fix For: 2.12.3, 2.13.0 CsvDataFormat uses greedy loading from a stream. This is not applicable for huge files i.e. all rows cannot fit into available memory. I added an option to create a row iterator instead list. Csv format is not line oriented so split(\n) workaround doesn't work always. This patch adds ability to Camel to process infinite csv files with multiline rows. Pull request: https://github.com/yaitskov/camel/commits/csv-iterator P.S. 1) I found that Bindy does similar work related with parsing csv file into list of why. And I don't see any clue why it doesn't delegate this job to csv file format. Roughly speaking there is code duplication. 2) I didn't find camel-csv component on the ticket form. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7457) [camel-cxf] cxfrs: SimpleConsumer does not honur Accept header
[ https://issues.apache.org/jira/browse/CAMEL-7457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021187#comment-14021187 ] ASF GitHub Bot commented on CAMEL-7457: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/161 [camel-cxf] cxfrs: SimpleConsumer does not honur Accept header -- Key: CAMEL-7457 URL: https://issues.apache.org/jira/browse/CAMEL-7457 Project: Camel Issue Type: Bug Components: camel-cxf Affects Versions: 2.12.3 Reporter: Seiji Sogabe Fix For: 2.12.4, 2.13.2, 2.14.0 Content negotiation does not work correctly. I create service class and spring xml as follows. {code:title=CustomerService.java} @Path(/customer) public class CustomerService { @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public Customers getCustomers() { return null; } } {code} {code:xml} cxf:rsServer xmlns:cxf=http://camel.apache.org/schema/cxf; id=rsServer address=http://localhost:/rsServer; loggingFeatureEnabled=true loggingSizeLimit=200 cxf:serviceBeans ref bean=CustomerService / /cxf:serviceBeans cxf:providers ref bean=jettisonProvider / /cxf:providers /cxf:rsServer !-- provider -- bean id=jettisonProvider class=org.apache.cxf.jaxrs.provider.json.JSONProvider / !-- interface -- bean id=CustomerService class=com.buildria.camel.cxf.negotiation.CustomerService / !-- Concrete class -- bean id=CustomerServiceImpl class=com.buildria.camel.cxf.negotiation.CustomerServiceImpl / camelContext xmlns=http://camel.apache.org/schema/spring; route !-- (1) SimpleConsumer BindingStyle -- from uri=cxfrs://bean://rsServer?bindingStyle=SimpleConsumer / !-- (2) Default BindingStyle -- !-- from uri=cxfrs://bean://rsServer /-- choice when simple$simple{headers.operationName} == 'getCustomers'/simple bean ref=CustomerServiceImpl method=getCustomers / /when otherwise setHeader headerName=CamelHttpResponseCode constant404/constant /setHeader /otherwise /choice /route /camelContext {code} A) I tested it with curl command like this. {noformat} $ curl -H Accept: application/json http://localhost:/rsServer/customer/ {customers:{customers:{address:Japan,name:Ken}}}sogabe@emilia ~/src/camel/camel-rest-cxfrs [2.10.6] 2014/05/22 午後 23:15:56 $ LANG=C curl -H Accept: application/json http://localhost:/rsServer/customer/ -v * Hostname was NOT found in DNS cache * Trying ::1... * connect to ::1 port failed: Connection refused * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port (#0) GET /rsServer/customer/ HTTP/1.1 User-Agent: curl/7.36.0 Host: localhost: Accept: application/json HTTP/1.1 200 OK Accept: application/json breadcrumbId: ID-emilia-46343-1400768103395-0-7 Content-Type: application/json Date: Thu, 22 May 2014 14:16:12 GMT Host: localhost: User-Agent: curl/7.36.0 Transfer-Encoding: chunked * Server Jetty(8.1.14.v20131031) is not blacklisted Server: Jetty(8.1.14.v20131031) * Connection #0 to host localhost left intact {customers:{customers:{address:Japan,name:Ken}}} {noformat} *I got a reponse as a JSON format. It's OK!* B) But if Content-Type: application/xml specified, {noformat} $ LANG=C curl -H Accept: application/json -H Content-Type: application/xml http://localhost:/rsServer/customer/ -v * Hostname was NOT found in DNS cache * Trying ::1... * connect to ::1 port failed: Connection refused * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port (#0) GET /rsServer/customer/ HTTP/1.1 User-Agent: curl/7.36.0 Host: localhost: Accept: application/json Content-Type: application/xml HTTP/1.1 200 OK Accept: application/json breadcrumbId: ID-emilia-46343-1400768103395-0-9 Content-Type: application/xml Date: Thu, 22 May 2014 14:19:17 GMT Host: localhost: User-Agent: curl/7.36.0 Transfer-Encoding: chunked * Server Jetty(8.1.14.v20131031) is not blacklisted Server: Jetty(8.1.14.v20131031) * Connection #0 to host localhost left intact ?xml version=1.0 encoding=UTF-8 standalone=yes?customerscustomersaddressJapan/addressnameKen/name/customers/customers {noformat} *I got a response as a xml format. It
[jira] [Commented] (CAMEL-7465) DefaultHeaderFIlterStrategy should be case insensitive.
[ https://issues.apache.org/jira/browse/CAMEL-7465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021188#comment-14021188 ] ASF GitHub Bot commented on CAMEL-7465: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/162 DefaultHeaderFIlterStrategy should be case insensitive. --- Key: CAMEL-7465 URL: https://issues.apache.org/jira/browse/CAMEL-7465 Project: Camel Issue Type: Improvement Components: camel-core Reporter: Seiji Sogabe Assignee: Willem Jiang Fix For: 2.14.0 I created my headerFilterStrategy to filter HTTP header Content-Type as follows. {code} public class MyCxfRsHeaderFilterStrategy extends DefaultHeaderFilterStrategy { public CxfRsHeaderFilterStrategy() { initialize(); } protected void initialize() { : (snip) : getOutFilter().add(Content-Type); // filter headers begin with Camel or org.apache.camel setOutFilterPattern((Camel|org\\.apache\\.camel)[\\.|a-z|A-z|0-9]*); } } {code} But I can not filter header if header name is content-type.(all character is lower case). HTTP header name is case insensitive. so It will be useful if DefaultFilter can filter case insensitive. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7450) CsvDataFormat unable to setup header when useMaps=true
[ https://issues.apache.org/jira/browse/CAMEL-7450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021186#comment-14021186 ] ASF GitHub Bot commented on CAMEL-7450: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/158 CsvDataFormat unable to setup header when useMaps=true Key: CAMEL-7450 URL: https://issues.apache.org/jira/browse/CAMEL-7450 Project: Camel Issue Type: Bug Components: camel-csv Affects Versions: 2.13.0 Environment: Linux Reporter: carlo cancellieri Assignee: Willem Jiang Fix For: 2.12.4, 2.13.2, 2.14.0 Hi all, seems that it is impossible to setup the header of a csv when using a map. It is always used the first line of the CSV file. Using this configuration in conjunction with my patch I'm currently able to do so (also having the skipFirstLine flag working with useMaps=true) Configuration: https://github.com/ccancellieri/camel_poc/blob/master/src/main/resources/META-INF/spring/camel-context.xml -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7383) camel-script-* features should depend on scripting-api bundle
[ https://issues.apache.org/jira/browse/CAMEL-7383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021183#comment-14021183 ] ASF GitHub Bot commented on CAMEL-7383: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/137 camel-script-* features should depend on scripting-api bundle - Key: CAMEL-7383 URL: https://issues.apache.org/jira/browse/CAMEL-7383 Project: Camel Issue Type: Bug Affects Versions: 2.13.0 Reporter: Grzegorz Grzybek Assignee: Grzegorz Grzybek Priority: Minor Fix For: 2.12.4, 2.13.1, 2.14.0 {{camel-script-*}} features use package {{javax.script}} which may be not exported by system bundle. {{camel-script-*}} feature should depend on ServiceMix's scripting bundle just like camel-groovy. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7382) Enable retrieving auto generated keys in JDBC component when using named parameters
[ https://issues.apache.org/jira/browse/CAMEL-7382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021184#comment-14021184 ] ASF GitHub Bot commented on CAMEL-7382: --- Github user jfarrell closed the pull request at: https://github.com/apache/camel/pull/138 Enable retrieving auto generated keys in JDBC component when using named parameters --- Key: CAMEL-7382 URL: https://issues.apache.org/jira/browse/CAMEL-7382 Project: Camel Issue Type: Improvement Components: camel-jdbc Environment: Improvement is independent from environment Reporter: Pascal Klink Assignee: Grzegorz Grzybek Labels: patch Fix For: 2.14.0 Attachments: generate_keys_with_parameters.patch The JDBC component is currently not capable of retrieving auto generated keys when using named parameters. I think support for this should be added since it is no effort to implement (the most changes in the patch are related to the test classes) and enables safe insertion into tables with auto generated keys since prepared statements are used when the query is filled with named parameters. One thing to note is that I could not run the JdbcSpringAnotherRouteTest because there was an error when instantiating the CamelNameSpaceHandler because of a NoClassDefFoundError for org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean. I think this is because I did not select the correct maven profile. So run this test after applying the patch to be sure everything works fine. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7481) Add karaf feature for camel-gora
[ https://issues.apache.org/jira/browse/CAMEL-7481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021529#comment-14021529 ] Willem Jiang commented on CAMEL-7481: - Hi [~ipolyzos], The feature file I means is a bunch of OSGi bundles which can help us to deploy the camel-gora component into Apache Karaf. But It also important to write an example to show the user how to use camel-gora component. Add karaf feature for camel-gora Key: CAMEL-7481 URL: https://issues.apache.org/jira/browse/CAMEL-7481 Project: Camel Issue Type: Task Reporter: Willem Jiang Assignee: Willem Jiang Attachments: camel-gora-sample-features.xml We need to provide a camel-gora feature for using camel-gora in karaf. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CAMEL-7488) PropertiesComponent gets initialized by util:constant
[ https://issues.apache.org/jira/browse/CAMEL-7488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14021550#comment-14021550 ] Willem Jiang commented on CAMEL-7488: - Camel PropertyComponent will use the PropertiesResolver(bridgePropertyPlaceHolder) to lookup the properties, so you can get the exception by default, as bridgePropertyPlaceHolder cannot find the resource file. You can define the propertyPlaceholder to override the default feature like this. {code} camel:propertyPlaceholder id=propertiesOverride ignoreMissingLocation=true/ {code} PropertiesComponent gets initialized by util:constant - Key: CAMEL-7488 URL: https://issues.apache.org/jira/browse/CAMEL-7488 Project: Camel Issue Type: Bug Components: camel-core, camel-spring Affects Versions: 2.13.0, 2.13.1 Reporter: Sven Nold Using BridgePropertyPlaceholderConfigurer Spring util constant namespace to reference a static field, the Properties Component gets initialized with this constant. {code:xml|title=camelContext.xml } util:constant static-field=anypackage.CONSTANT_1/ bean id=bridgePropertyPlaceHolder class=org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer property name=locations list valueclasspath:test.properties/value /list /property /bean camel:camelContext xmlns=http://camel.apache.org/schema/spring; camel:route camel:from uri=direct://ignore / camel:setBody camel:simple{{testProperty}}/camel:simple /camel:setBody camel:to uri=mock://ignore / /camel:route /camel:camelContext {code} Will produce following Stacktrace (constant contained 'This will be loaded as location; but I am simply a constant'): {noformat} Caused by: java.io.FileNotFoundException: Properties file This will be loaded as location; but I am simply a constant not found in classpath at org.apache.camel.component.properties.DefaultPropertiesResolver.loadPropertiesFromClasspath(DefaultPropertiesResolver.java:96) at org.apache.camel.component.properties.DefaultPropertiesResolver.resolveProperties(DefaultPropertiesResolver.java:55) at org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.resolveProperties(BridgePropertyPlaceholderConfigurer.java:118) at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:131) at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:117) at org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders(DefaultCamelContext.java:1223) at org.apache.camel.model.ProcessorDefinition.resolvePropertyPlaceholders(ProcessorDefinition.java:571) {noformat} My current workaround was to specify propertyPlaceholder with empty location in camelContext ... {code:xml|title=camelContext.xml } !-- same as above -- camel:camelContext xmlns=http://camel.apache.org/schema/spring; !-- location and id are mandatory -- camel:propertyPlaceholder id=stupidMandatoryId location=/ camel:route camel:from uri=direct://ignore / camel:setBody camel:simple{{testProperty}}/camel:simple /camel:setBody camel:to uri=mock://ignore / /camel:route /camel:camelContext {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CAMEL-7448) throttle EIP - unchanged value
[ https://issues.apache.org/jira/browse/CAMEL-7448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14017359#comment-14017359 ] Ben O'Day edited comment on CAMEL-7448 at 6/9/14 4:14 AM: -- why not just throw the exception if the expression is null AND maximumRequestsPerPeriod hasn't been set otherwise (by a previous message, etc). That would prevent NULL expression evaluations for the first message and allow for subsequent ones, etc... something like this in Throttler calculateDelay()... {code:title=Throttler.java|borderStyle=solid} Object result = maxRequestsPerPeriodExpression.evaluate(exchange, Object.class); //if (result == null) { if (maximumRequestsPerPeriod == 0 result == null) { throw new RuntimeExchangeException(The max requests per period expression was evaluated as null: + maxRequestsPerPeriodExpression, exchange); } {code} was (Author: boday): why not just throw the exception if the expression is null AND maximumRequestsPerPeriod hasn't been set otherwise (by a previous message, etc). That would prevent NULL expression evaluations for the first message and allow for subsequent ones, etc... something like this in Throttler calculateDelay()... Object result = maxRequestsPerPeriodExpression.evaluate(exchange, Object.class); //if (result == null) { if (maximumRequestsPerPeriod == 0 result == null) { throw new RuntimeExchangeException(The max requests per period expression was evaluated as null: + maxRequestsPerPeriodExpression, exchange); } throttle EIP - unchanged value -- Key: CAMEL-7448 URL: https://issues.apache.org/jira/browse/CAMEL-7448 Project: Camel Issue Type: Bug Components: camel-core, eip Affects Versions: 2.13.1 Reporter: Elvio Caruana Assignee: Ben O'Day Priority: Minor Fix For: 2.13.2, 2.14.0 Throttler Documentation [1] states If the header is absent, then the Throttler uses the old value. So that allows you to only provide a header if the value is to be changed. however if the expression evaluates to null (header missing from message) the Throttler throws an exception (Throttler.java:108). The workaround is to ensure that all messages carry the value (if the value is the same no changes will take affect). Adding an option to turn this on and off (e.g. allowNullException) would make it much easier to use (as per camel-users thread [2]). [1] http://camel.apache.org/throttler.html [2] http://camel.465427.n5.nabble.com/throttle-EIP-unchanged-value-td5751300.html -- This message was sent by Atlassian JIRA (v6.2#6252)