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
//
-------------------------------------------------------------------------