Author: dkulp
Date: Fri Jul  8 19:40:46 2011
New Revision: 1144451

URL: http://svn.apache.org/viewvc?rev=1144451&view=rev
Log:
Merged revisions 1093980 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r1093980 | davsclaus | 2011-04-16 08:46:54 -0400 (Sat, 16 Apr 2011) | 1 line
  
  CAMEL-3873: camel-xmpp should properly clean resources when stopping, so 
hot-deploy works.
........

Modified:
    camel/branches/camel-2.7.x/   (props changed)
    
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java
    
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
    
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
    
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul  8 19:40:46 2011
@@ -1 +1 @@
-/camel/trunk:1083696,1083723-1083724,1084150,1085277,1085543,1085549,1085905,1085909,1086165,1086231,1087005,1087276,1087612,1087620,1087856,1088583,1088916-1088917,1089275,1089348,1090166,1090204,1090564,1090960-1090969,1091082,1091518,1091771,1091799,1092034,1092068,1092577,1092667,1093978,1094147,1094156,1095405,1095469,1095471,1095475-1095476,1096346,1097909,1097912,1097978,1098630,1099417,1100975,1102162,1102181,1104076,1124497,1127744,1127988,1131411,1134252,1134501,1135223,1135364,1136290,1138285,1139163,1140096-1140102,1141783,1143925,1144248,1144324
+/camel/trunk:1083696,1083723-1083724,1084150,1085277,1085543,1085549,1085905,1085909,1086165,1086231,1087005,1087276,1087612,1087620,1087856,1088583,1088916-1088917,1089275,1089348,1090166,1090204,1090564,1090960-1090969,1091082,1091518,1091771,1091799,1092034,1092068,1092577,1092667,1093978,1093980,1094147,1094156,1095405,1095469,1095471,1095475-1095476,1096346,1097909,1097912,1097978,1098630,1099417,1100975,1102162,1102181,1104076,1124497,1127744,1127988,1131411,1134252,1134501,1135223,1135364,1136290,1138285,1139163,1140096-1140102,1141783,1143925,1144248,1144324

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java?rev=1144451&r1=1144450&r2=1144451&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java
 Fri Jul  8 19:40:46 2011
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.util.ServiceHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -32,7 +33,7 @@ public class XmppComponent extends Defau
     private static final transient Logger LOG = 
LoggerFactory.getLogger(XmppComponent.class);
 
     //keep a cache of endpoints so they can be properly cleaned up
-    Map<String, XmppEndpoint> endpointCache = new HashMap<String, 
XmppEndpoint>();
+    private final Map<String, XmppEndpoint> endpointCache = new 
HashMap<String, XmppEndpoint>();
 
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
@@ -73,10 +74,9 @@ public class XmppComponent extends Defau
     }
 
     @Override
-    protected synchronized void doStop() throws Exception {
-        for (Map.Entry<String, XmppEndpoint> entry : endpointCache.entrySet()) 
{
-            entry.getValue().destroy();
-        }
+    protected void doStop() throws Exception {
+        ServiceHelper.stopServices(endpointCache.values());
         endpointCache.clear();
     }
+
 }

Modified: 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java?rev=1144451&r1=1144450&r2=1144451&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
 Fri Jul  8 19:40:46 2011
@@ -215,12 +215,6 @@ public class XmppEndpoint extends Defaul
         return "Chat:" + getParticipant() + ":" + getUser();
     }
 
-    protected synchronized void destroy() throws Exception {
-        if (connection != null) {
-            connection.disconnect();
-        }
-    }
-
     // Properties
     // 
-------------------------------------------------------------------------
     public XmppBinding getBinding() {
@@ -338,4 +332,13 @@ public class XmppEndpoint extends Defaul
     // Implementation methods
     // 
-------------------------------------------------------------------------
 
+    @Override
+    protected void doStop() throws Exception {
+        if (connection != null) {
+            connection.disconnect();
+        }
+        connection = null;
+        binding = null;
+    }
+
 }

Modified: 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java?rev=1144451&r1=1144450&r2=1144451&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
 Fri Jul  8 19:40:46 2011
@@ -97,11 +97,14 @@ public class XmppGroupChatProducer exten
                 LOG.info("Leaving room: " + room);
             }
             chat.leave();
-            chat = null;
         }
+        chat = null;
+
         if (connection != null && connection.isConnected()) {
             connection.disconnect();
         }
+        connection = null;
+
         super.doStop();
     }
 

Modified: 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java?rev=1144451&r1=1144450&r2=1144451&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
 Fri Jul  8 19:40:46 2011
@@ -118,6 +118,7 @@ public class XmppPrivateChatProducer ext
         if (connection != null && connection.isConnected()) {
             connection.disconnect();
         }
+        connection = null;
         super.doStop();
     }
 


Reply via email to