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();

Reply via email to