This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit fdaa12d4a2912c7f86e38ca02398e7d4f858e980 Author: Claus Ibsen <[email protected]> AuthorDate: Mon Sep 2 13:31:47 2019 +0200 CAMEL-13917: Configuring endpoints with consumer. prefix for consumer options is no longer supported as they should be regular options instead. This also avoid reflection setting properties. --- .../src/main/docs/hipchat-component.adoc | 2 +- .../camel/component/hipchat/HipchatEndpoint.java | 22 ++++++++++++++++++---- .../camel/component/ironmq/IronMQComponent.java | 4 +--- .../apache/camel/component/jpa/JpaComponent.java | 1 + .../apache/camel/component/jpa/JpaEndpoint.java | 20 ++++++++++---------- .../camel/component/jpa/JpaComponentTest.java | 2 +- .../jpa/JpaWithNamedQueryAndParametersTest.java | 5 +++-- .../camel/component/jpa/JpaWithNamedQueryTest.java | 4 ++-- .../component/jpa/JpaWithNativeQueryTest.java | 2 +- .../jpa/JpaWithNativeQueryWithResultClassTest.java | 2 +- .../camel/component/jpa/JpaWithQueryTest.java | 2 +- .../camel/processor/jpa/JpaNonTXRollbackTest.java | 2 +- .../jpa/JpaRouteSkipLockedEntityTest.java | 4 ++-- .../camel/processor/jpa/JpaTXRollbackTest.java | 2 +- .../dsl/HipchatEndpointBuilderFactory.java | 8 ++------ 15 files changed, 46 insertions(+), 36 deletions(-) diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc index 814cb0c..ea5fedc 100644 --- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc +++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc @@ -84,7 +84,7 @@ with the following path and query parameters: | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. | | int | *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. | | int | *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. | | int -| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long +| *delay* (scheduler) | Milliseconds before the next poll. | 5000 | long | *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean | *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long | *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java index d9719e1..44d0c1b 100644 --- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java +++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java @@ -29,11 +29,19 @@ import org.apache.camel.support.ScheduledPollEndpoint; @UriEndpoint(firstVersion = "2.15.0", scheme = "hipchat", title = "Hipchat", syntax = "hipchat:protocol:host:port", label = "api,cloud") public class HipchatEndpoint extends ScheduledPollEndpoint { + @UriParam(defaultValue = "" + HipchatConsumer.DEFAULT_CONSUMER_DELAY, label = "consumer,scheduler", + description = "Milliseconds before the next poll.") + private long delay = HipchatConsumer.DEFAULT_CONSUMER_DELAY; + @UriParam private HipchatConfiguration configuration; public HipchatEndpoint(String uri, HipchatComponent component) { super(uri, component); + //Default delay of 500 millis is too often and would result in Rate Limit error's from + //HipChat API as per https://www.hipchat.com/docs/apiv2/rate_limiting. End user can override using + //consumer.delay parameter + setDelay(HipchatConsumer.DEFAULT_CONSUMER_DELAY); configuration = new HipchatConfiguration(); } @@ -45,10 +53,6 @@ public class HipchatEndpoint extends ScheduledPollEndpoint { @Override public Consumer createConsumer(Processor processor) throws Exception { HipchatConsumer consumer = new HipchatConsumer(this, processor); - //Default delay of 500 millis is too often and would result in Rate Limit error's from - //HipChat API as per https://www.hipchat.com/docs/apiv2/rate_limiting. End user can override using - //consumer.delay parameter - consumer.setDelay(HipchatConsumer.DEFAULT_CONSUMER_DELAY); configureConsumer(consumer); return consumer; } @@ -56,4 +60,14 @@ public class HipchatEndpoint extends ScheduledPollEndpoint { public HipchatConfiguration getConfiguration() { return configuration; } + + /** + * Milliseconds before the next poll. + */ + @Override + public void setDelay(long delay) { + super.setDelay(delay); + this.delay = delay; + } + } diff --git a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java index bfec0ac..e566a22 100644 --- a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java +++ b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java @@ -22,7 +22,6 @@ import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.DefaultComponent; -import org.apache.camel.support.ScheduledPollEndpoint; /** * Represents the component that manages {@link IronMQEndpoint}. @@ -52,8 +51,7 @@ public class IronMQComponent extends DefaultComponent { } Endpoint endpoint = new IronMQEndpoint(uri, this, ironMQConfiguration); - ((ScheduledPollEndpoint)endpoint).setConsumerProperties(parameters); - + setProperties(endpoint, parameters); return endpoint; } } diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java index e9458c3..252a33d 100644 --- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java +++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java @@ -121,6 +121,7 @@ public class JpaComponent extends DefaultComponent { endpoint.setEntityType(type); } } + setProperties(endpoint, options); return endpoint; } diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java index 180f1d3..14a965a 100644 --- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java +++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java @@ -72,25 +72,25 @@ public class JpaEndpoint extends ScheduledPollEndpoint { @UriParam(label = "consumer") private int maxMessagesPerPoll; - @UriParam(optionalPrefix = "consumer.") + @UriParam private String query; - @UriParam(optionalPrefix = "consumer.") + @UriParam private String namedQuery; - @UriParam(optionalPrefix = "consumer.") + @UriParam private String nativeQuery; - @UriParam(label = "consumer", optionalPrefix = "consumer.", defaultValue = "PESSIMISTIC_WRITE") + @UriParam(label = "consumer", defaultValue = "PESSIMISTIC_WRITE") private LockModeType lockModeType = LockModeType.PESSIMISTIC_WRITE; - @UriParam(label = "consumer,advanced", optionalPrefix = "consumer.", multiValue = true) + @UriParam(label = "consumer,advanced", multiValue = true) private Map<String, Object> parameters; - @UriParam(optionalPrefix = "consumer.") + @UriParam private Class<?> resultClass; - @UriParam(label = "consumer", optionalPrefix = "consumer.") + @UriParam(label = "consumer") private boolean transacted; - @UriParam(label = "consumer", optionalPrefix = "consumer.") + @UriParam(label = "consumer") private boolean skipLockedEntity; - @UriParam(label = "consumer", optionalPrefix = "consumer.") + @UriParam(label = "consumer") private DeleteHandler<Object> deleteHandler; - @UriParam(label = "consumer", optionalPrefix = "consumer.") + @UriParam(label = "consumer") private DeleteHandler<Object> preDeleteHandler; @UriParam(label = "producer", defaultValue = "true") diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaComponentTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaComponentTest.java index 8792a20..97796cc 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaComponentTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaComponentTest.java @@ -34,7 +34,7 @@ public class JpaComponentTest extends CamelTestSupport { assertNull(comp.getEntityManagerFactory()); assertNull(comp.getTransactionManager()); - JpaEndpoint jpa = (JpaEndpoint) comp.createEndpoint("jpa://" + SendEmail.class.getName() + "?consumer.lockModeType=PESSIMISTIC_WRITE"); + JpaEndpoint jpa = (JpaEndpoint) comp.createEndpoint("jpa://" + SendEmail.class.getName() + "?lockModeType=PESSIMISTIC_WRITE"); JpaConsumer consumer = (JpaConsumer) jpa.createConsumer(null); assertEquals(consumer.getLockModeType(), LockModeType.PESSIMISTIC_WRITE); diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java index 3412520..4f92795 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java @@ -29,6 +29,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.ProducerTemplate; import org.apache.camel.examples.Customer; +import org.apache.camel.examples.MultiSteps; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.support.SimpleRegistry; import org.apache.camel.support.service.ServiceHelper; @@ -76,7 +77,7 @@ public class JpaWithNamedQueryAndParametersTest extends Assert { assertEquals("Should have no results: " + results, 0, results.size()); // lets produce some objects - template.send(endpoint, new Processor() { + template.send("jpa://" + Customer.class.getName(), new Processor() { public void process(Exchange exchange) { Customer customer = new Customer(); customer.setName("Willem"); @@ -142,7 +143,7 @@ public class JpaWithNamedQueryAndParametersTest extends Assert { } protected String getEndpointUri() { - return "jpa://" + Customer.class.getName() + "?consumer.namedQuery=findAllCustomersWithName&consumer.parameters=#params"; + return "jpa://" + Customer.class.getName() + "?namedQuery=findAllCustomersWithName¶meters=#params"; } @After diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryTest.java index 07dbd5e..5c3745b 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryTest.java @@ -76,7 +76,7 @@ public class JpaWithNamedQueryTest extends Assert { assertEquals("Should have no results: " + results, 0, results.size()); // lets produce some objects - template.send(endpoint, new Processor() { + template.send("jpa://" + MultiSteps.class.getName(), new Processor() { public void process(Exchange exchange) { exchange.getIn().setBody(new MultiSteps("[email protected]")); } @@ -173,7 +173,7 @@ public class JpaWithNamedQueryTest extends Assert { } protected String getEndpointUri() { - return "jpa://" + MultiSteps.class.getName() + "?consumer.namedQuery=step1"; + return "jpa://" + MultiSteps.class.getName() + "?namedQuery=step1"; } @After diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryTest.java index 354e991..2ce6f17 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryTest.java @@ -49,6 +49,6 @@ public class JpaWithNativeQueryTest extends JpaWithNamedQueryTest { @Override protected String getEndpointUri() { - return "jpa://" + MultiSteps.class.getName() + "?consumer.nativeQuery=select * from MultiSteps where step = 1"; + return "jpa://" + MultiSteps.class.getName() + "?nativeQuery=select * from MultiSteps where step = 1"; } } \ No newline at end of file diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryWithResultClassTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryWithResultClassTest.java index ed61fe7..c1d0051 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryWithResultClassTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNativeQueryWithResultClassTest.java @@ -48,6 +48,6 @@ public class JpaWithNativeQueryWithResultClassTest extends JpaWithNamedQueryTest @Override protected String getEndpointUri() { - return "jpa://" + MultiSteps.class.getName() + "?consumer.resultClass=org.apache.camel.examples.MultiSteps&consumer.nativeQuery=select * from MultiSteps where step = 1"; + return "jpa://" + MultiSteps.class.getName() + "?resultClass=org.apache.camel.examples.MultiSteps&nativeQuery=select * from MultiSteps where step = 1"; } } \ No newline at end of file diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithQueryTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithQueryTest.java index 5f534df..eb3dcba 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithQueryTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithQueryTest.java @@ -27,6 +27,6 @@ public class JpaWithQueryTest extends JpaWithNamedQueryTest { @Override protected String getEndpointUri() { - return "jpa://" + MultiSteps.class.getName() + "?consumer.query=select o from " + entityName + " o where o.step = 1"; + return "jpa://" + MultiSteps.class.getName() + "?query=select o from " + entityName + " o where o.step = 1"; } } \ No newline at end of file diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaNonTXRollbackTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaNonTXRollbackTest.java index 3d2a6ab..2d102e4 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaNonTXRollbackTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaNonTXRollbackTest.java @@ -60,7 +60,7 @@ public class JpaNonTXRollbackTest extends AbstractJpaTest { return new RouteBuilder() { @Override public void configure() throws Exception { - from("jpa://" + SendEmail.class.getName() + "?consumer.transacted=false&delay=100").routeId("foo").noAutoStartup() + from("jpa://" + SendEmail.class.getName() + "?transacted=false&delay=100").routeId("foo").noAutoStartup() .to("mock:start") .process(new Processor() { @Override diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteSkipLockedEntityTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteSkipLockedEntityTest.java index 1842998..b7d5929 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteSkipLockedEntityTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteSkipLockedEntityTest.java @@ -68,9 +68,9 @@ public class JpaRouteSkipLockedEntityTest extends AbstractJpaTest { return new SpringRouteBuilder() { @Override public void configure() { - String options = "?consumer.skipLockedEntity=true"; //&consumer.lockModeType=PESSIMISTIC_FORCE_INCREMENT"; + String options = "?skipLockedEntity=true"; //&lockModeType=PESSIMISTIC_FORCE_INCREMENT"; from("jpa://" + VersionedItem.class.getName() + options).routeId("first").autoStartup(false).bean(new WaitLatch()).log("route1: ${body}").to("mock:result1"); - from("jpa2://select" + options + "&consumer.query=select s from VersionedItem s").routeId("second").autoStartup(false).bean(new WaitLatch()).log("route2: ${body}").to("mock:result2"); + from("jpa2://select" + options + "&query=select s from VersionedItem s").routeId("second").autoStartup(false).bean(new WaitLatch()).log("route2: ${body}").to("mock:result2"); } }; } diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaTXRollbackTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaTXRollbackTest.java index e6e5c83..d71d3c3 100644 --- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaTXRollbackTest.java +++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaTXRollbackTest.java @@ -57,7 +57,7 @@ public class JpaTXRollbackTest extends AbstractJpaTest { return new RouteBuilder() { @Override public void configure() throws Exception { - from("jpa://" + SendEmail.class.getName() + "?consumer.transacted=true&delay=1000").routeId("foo").noAutoStartup() + from("jpa://" + SendEmail.class.getName() + "?transacted=true&delay=1000").routeId("foo").noAutoStartup() .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HipchatEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HipchatEndpointBuilderFactory.java index 5150886..ce93336 100644 --- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HipchatEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HipchatEndpointBuilderFactory.java @@ -245,9 +245,7 @@ public interface HipchatEndpointBuilderFactory { return this; } /** - * Milliseconds before the next poll. You can also specify time values - * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 - * seconds), and 1h (1 hour). + * Milliseconds before the next poll. * * The option is a: <code>long</code> type. * @@ -258,9 +256,7 @@ public interface HipchatEndpointBuilderFactory { return this; } /** - * Milliseconds before the next poll. You can also specify time values - * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 - * seconds), and 1h (1 hour). + * Milliseconds before the next poll. * * The option will be converted to a <code>long</code> type. *
