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/05/16 10:09:23 UTC
[camel] branch master updated: CAMEL-13156: camel-webhook -
Consumer polish
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
The following commit(s) were added to refs/heads/master by this push:
new 38fc808 CAMEL-13156: camel-webhook - Consumer polish
38fc808 is described below
commit 38fc808ca48ad1eb13a90e9c23aa98ffb66c5d3a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu May 16 12:08:40 2019 +0200
CAMEL-13156: camel-webhook - Consumer polish
---
.../camel/component/webhook/MultiRestConsumer.java | 34 ++++++++++++----------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
index 36443c2..42505c4 100644
--- a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
+++ b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
@@ -26,6 +26,8 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestConsumerFactory;
+import org.apache.camel.support.DefaultConsumer;
+import org.apache.camel.support.service.ServiceHelper;
/**
* MultiRestConsumer allows to bind the webhook to multiple local rest endpoints.
@@ -34,18 +36,13 @@ import org.apache.camel.spi.RestConsumerFactory;
* E.g. some webhook providers operate over POST but they do require that a specific endpoint replies also to
* GET requests during handshake.
*/
-public class MultiRestConsumer implements Consumer {
-
- private Endpoint endpoint;
-
- private Processor processor;
+public class MultiRestConsumer extends DefaultConsumer {
private List<Consumer> delegateConsumers;
public MultiRestConsumer(CamelContext context, RestConsumerFactory factory, Endpoint endpoint, Processor processor,
List<String> methods, String url, String path, RestConfiguration config, ConsumerConfigurer configurer) throws Exception {
- this.endpoint = endpoint;
- this.processor = processor;
+ super(endpoint, processor);
this.delegateConsumers = new ArrayList<>();
for (String method : methods) {
Consumer consumer = factory.createConsumer(context, processor, method, path,
@@ -61,26 +58,33 @@ public class MultiRestConsumer implements Consumer {
}
@Override
- public Processor getProcessor() {
- return processor;
+ protected void doInit() {
+ for (Consumer consumer : this.delegateConsumers) {
+ consumer.init();
+ }
}
@Override
- public Endpoint getEndpoint() {
- return endpoint;
+ public void doStart() throws Exception {
+ super.doStart();
+ for (Consumer consumer : this.delegateConsumers) {
+ ServiceHelper.startService(consumer);
+ }
}
@Override
- public void start() {
+ public void doStop() throws Exception {
+ super.doStop();
for (Consumer consumer : this.delegateConsumers) {
- consumer.start();
+ ServiceHelper.stopService(consumer);
}
}
@Override
- public void stop() {
+ protected void doShutdown() throws Exception {
+ super.doShutdown();
for (Consumer consumer : this.delegateConsumers) {
- consumer.stop();
+ ServiceHelper.stopAndShutdownService(consumer);
}
}