Repository: camel Updated Branches: refs/heads/master 37e971733 -> ebf97e386
CAMEL-6616 maxReconnect added Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/43571f1d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/43571f1d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/43571f1d Branch: refs/heads/master Commit: 43571f1ddbd7af7d8d52f9dcbdfdba2b83b9dd40 Parents: 37e9717 Author: önder sezgin <ondersez...@gmail.com> Authored: Sat Aug 6 01:50:41 2016 +0300 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sun Aug 7 16:09:21 2016 +0200 ---------------------------------------------------------------------- .../camel/component/smpp/SmppConfiguration.java | 21 +++++++++++++++++--- .../camel/component/smpp/SmppConsumer.java | 3 ++- .../camel/component/smpp/SmppProducer.java | 3 ++- 3 files changed, 22 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/43571f1d/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java index b6cd5e6..e9d3af9 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java @@ -96,7 +96,9 @@ public class SmppConfiguration implements Cloneable { private long initialReconnectDelay = 5000; @UriParam(label = "common", defaultValue = "5000") private long reconnectDelay = 5000; - @UriParam(label = "producer") + @UriParam(label = "common", defaultValue = "2147483647") + private int maxReconnect = Integer.MAX_VALUE; + @UriParam(label = "producer") private boolean lazySessionCreation; @UriParam(label = "proxy") private String httpProxyHost; @@ -530,11 +532,11 @@ public class SmppConfiguration implements Cloneable { public void setInitialReconnectDelay(long initialReconnectDelay) { this.initialReconnectDelay = initialReconnectDelay; } - + public long getReconnectDelay() { return reconnectDelay; } - + /** * Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed. */ @@ -542,6 +544,18 @@ public class SmppConfiguration implements Cloneable { this.reconnectDelay = reconnectDelay; } + /** + * CAMEL-6616 + * Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response + */ + public int getMaxReconnect() { + return maxReconnect; + } + + public void setMaxReconnect(int maxReconnect) { + this.maxReconnect = maxReconnect; + } + public boolean isLazySessionCreation() { return lazySessionCreation; } @@ -679,6 +693,7 @@ public class SmppConfiguration implements Cloneable { + ", numberingPlanIndicator=" + numberingPlanIndicator + ", initialReconnectDelay=" + initialReconnectDelay + ", reconnectDelay=" + reconnectDelay + + ", maxReconnect=" + maxReconnect + ", lazySessionCreation=" + lazySessionCreation + ", httpProxyHost=" + httpProxyHost + ", httpProxyPort=" + httpProxyPort http://git-wip-us.apache.org/repos/asf/camel/blob/43571f1d/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java index 9bb5030..9cbd2bc 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java @@ -154,7 +154,8 @@ public class SmppConsumer extends DefaultConsumer { } int attempt = 0; - while (!(isStopping() || isStopped()) && (session == null || session.getSessionState().equals(SessionState.CLOSED))) { + while (!(isStopping() || isStopped()) && (session == null || session.getSessionState().equals(SessionState.CLOSED)) + && attempt < configuration.getMaxReconnect()) { try { LOG.info("Trying to reconnect to " + getEndpoint().getConnectionString() + " - attempt #" + (++attempt) + "..."); session = createSession(); http://git-wip-us.apache.org/repos/asf/camel/blob/43571f1d/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java index 589b865..13935ce 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java @@ -189,7 +189,8 @@ public class SmppProducer extends DefaultProducer { } int attempt = 0; - while (!(isStopping() || isStopped()) && (session == null || session.getSessionState().equals(SessionState.CLOSED))) { + while (!(isStopping() || isStopped()) && (session == null || session.getSessionState().equals(SessionState.CLOSED)) + && attempt < configuration.getMaxReconnect()) { try { LOG.info("Trying to reconnect to " + getEndpoint().getConnectionString() + " - attempt #" + (++attempt) + "..."); session = createSession();