You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2011/02/28 19:41:22 UTC

svn commit: r1075473 - in /camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp: SmppConsumer.java SmppProducer.java

Author: cmueller
Date: Mon Feb 28 18:41:22 2011
New Revision: 1075473

URL: http://svn.apache.org/viewvc?rev=1075473&view=rev
Log:
CAMEL-3650: SMSC initiated unbind spawns exponential amounts of reconnect threads

Modified:
    camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java
    camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java

Modified: camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java?rev=1075473&r1=1075472&r2=1075473&view=diff
==============================================================================
--- camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java (original)
+++ camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java Mon Feb 28 18:41:22 2011
@@ -192,9 +192,14 @@ public class SmppConsumer extends Defaul
 
     private void closeSession(SMPPSession session) {
         if (session != null) {
-            session.unbindAndClose();
-            // throws the java.util.ConcurrentModificationException
-            //session.removeSessionStateListener(this.sessionStateListener);
+            session.removeSessionStateListener(this.sessionStateListener);
+            // remove this hack after http://code.google.com/p/jsmpp/issues/detail?id=93 is fixed
+            try {
+                Thread.sleep(1000);
+                session.unbindAndClose();
+            } catch (Exception e) {
+                LOG.warn("Could not close session " + session);
+            }
             session = null;
         }
     }

Modified: camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java?rev=1075473&r1=1075472&r2=1075473&view=diff
==============================================================================
--- camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java (original)
+++ camel/trunk/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppProducer.java Mon Feb 28 18:41:22 2011
@@ -180,9 +180,14 @@ public class SmppProducer extends Defaul
     
     private void closeSession(SMPPSession session) {
         if (session != null) {
-            session.unbindAndClose();
-            // throws the java.util.ConcurrentModificationException
-            //session.removeSessionStateListener(this.sessionStateListener);
+            session.removeSessionStateListener(this.sessionStateListener);
+            // remove this hack after http://code.google.com/p/jsmpp/issues/detail?id=93 is fixed
+            try {
+                Thread.sleep(1000);
+                session.unbindAndClose();
+            } catch (Exception e) {
+                LOG.warn("Could not close session " + session);
+            }
             session = null;
         }
     }