This is an automated email from the ASF dual-hosted git repository. zregvart 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 8d754bf CAMEL-11327: improve Salesforce consumer shutdown 8d754bf is described below commit 8d754bf571d4cbc33df1458fa418963e6e8248f1 Author: Zoran Regvart <zregv...@apache.org> AuthorDate: Wed Jul 4 15:46:59 2018 +0200 CAMEL-11327: improve Salesforce consumer shutdown This changes the way BayeuxClient disconnects when the SubscriptionHelper is stopped so it shutdowns more promptly. In case of timeout during disconnect, the client is explicitly shutdown by aborting. --- .../component/salesforce/internal/streaming/SubscriptionHelper.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java index d62020f..e3a84d1 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java @@ -40,6 +40,7 @@ import org.apache.camel.support.ServiceSupport; import org.cometd.bayeux.Message; import org.cometd.bayeux.client.ClientSessionChannel; import org.cometd.client.BayeuxClient; +import org.cometd.client.BayeuxClient.State; import org.cometd.client.transport.ClientTransport; import org.cometd.client.transport.LongPollingTransport; import org.eclipse.jetty.client.api.Request; @@ -320,9 +321,11 @@ public class SubscriptionHelper extends ServiceSupport { client.getChannel(META_CONNECT).removeListener(connectListener); client.getChannel(META_HANDSHAKE).removeListener(handshakeListener); - boolean disconnected = client.disconnect(timeout); + client.disconnect(); + boolean disconnected = client.waitFor(timeout, State.DISCONNECTED); if (!disconnected) { LOG.warn("Could not disconnect client connected to: {} after: {} msec.", getEndpointUrl(component), timeout); + client.abort(); } client = null;