You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/11/05 08:22:38 UTC

svn commit: r1031458 - in /camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp: XmppConsumer.java XmppGroupChatProducer.java XmppPrivateChatProducer.java

Author: ningjiang
Date: Fri Nov  5 07:22:37 2010
New Revision: 1031458

URL: http://svn.apache.org/viewvc?rev=1031458&view=rev
Log:
CAMEL-3298 close the connection when the XmppProducer is stopped

Modified:
    camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
    camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
    camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java

Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java?rev=1031458&r1=1031457&r2=1031458&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java Fri Nov  5 07:22:37 2010
@@ -103,7 +103,9 @@ public class XmppConsumer extends Defaul
             muc.leave();
             muc = null;
         }
-        //the endpoint will clean up the connection
+        if (connection != null && connection.isConnected()) {
+            connection.disconnect();
+        }
     }
 
     public void chatCreated(Chat chat, boolean createdLocally) {

Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java?rev=1031458&r1=1031457&r2=1031458&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java Fri Nov  5 07:22:37 2010
@@ -99,6 +99,9 @@ public class XmppGroupChatProducer exten
             chat.leave();
             chat = null;
         }
+        if (connection != null && connection.isConnected()) {
+            connection.disconnect();
+        }
         super.doStop();
     }
 

Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java?rev=1031458&r1=1031457&r2=1031458&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java Fri Nov  5 07:22:37 2010
@@ -51,10 +51,6 @@ public class XmppPrivateChatProducer ext
 
     public void process(Exchange exchange) {
         try {
-            if (connection == null) {
-                connection = endpoint.createConnection();
-            }
-
             // make sure we are connected
             if (!connection.isConnected()) {
                 if (LOG.isDebugEnabled()) {
@@ -108,6 +104,22 @@ public class XmppPrivateChatProducer ext
                     + " to: " + XmppEndpoint.getConnectionMessage(connection), exchange, e);
         }
     }
+    
+    @Override
+    protected void doStart() throws Exception {
+        if (connection == null) {
+            connection = endpoint.createConnection();
+        }
+        super.doStart();
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+        if (connection != null && connection.isConnected()) {
+            connection.disconnect();
+        }
+        super.doStop();
+    }
 
     // Properties
     // -------------------------------------------------------------------------