You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/09/02 14:28:42 UTC
[camel] 07/11: 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.
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 <cl...@gmail.com>
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("foo@bar.com"));
}
@@ -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.
*