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(); }