Author: cmueller Date: Sun Feb 27 12:43:20 2011 New Revision: 1075042 URL: http://svn.apache.org/viewvc?rev=1075042&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=1075042&r1=1075041&r2=1075042&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 Sun Feb 27 12:43:20 2011 @@ -192,8 +192,9 @@ public class SmppConsumer extends Defaul private void closeSession(SMPPSession session) { if (session != null) { - session.removeSessionStateListener(this.sessionStateListener); session.unbindAndClose(); + // throws the java.util.ConcurrentModificationException + //session.removeSessionStateListener(this.sessionStateListener); 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=1075042&r1=1075041&r2=1075042&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 Sun Feb 27 12:43:20 2011 @@ -59,7 +59,7 @@ public class SmppProducer extends Defaul public SmppProducer(SmppEndpoint endpoint, SmppConfiguration config) { super(endpoint); this.configuration = config; - this.sessionStateListener = new SessionStateListener() { + this.sessionStateListener = new SessionStateListener() { public void onStateChange(SessionState newState, SessionState oldState, Object source) { if (newState.equals(SessionState.CLOSED)) { LOG.warn("Loosing connection to: " + getEndpoint().getConnectionString() + " - trying to reconnect..."); @@ -180,8 +180,9 @@ public class SmppProducer extends Defaul private void closeSession(SMPPSession session) { if (session != null) { - session.removeSessionStateListener(this.sessionStateListener); session.unbindAndClose(); + // throws the java.util.ConcurrentModificationException + //session.removeSessionStateListener(this.sessionStateListener); session = null; } }