You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2013/01/22 11:07:36 UTC
svn commit: r1436827 - in /activemq/trunk/activemq-karaf: pom.xml
src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java
src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml
Author: dejanb
Date: Tue Jan 22 10:07:36 2013
New Revision: 1436827
URL: http://svn.apache.org/viewvc?rev=1436827&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-4034 - adding logging and proper shutdown on destroy
Modified:
activemq/trunk/activemq-karaf/pom.xml
activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java
activemq/trunk/activemq-karaf/src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml
Modified: activemq/trunk/activemq-karaf/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/pom.xml?rev=1436827&r1=1436826&r2=1436827&view=diff
==============================================================================
--- activemq/trunk/activemq-karaf/pom.xml (original)
+++ activemq/trunk/activemq-karaf/pom.xml Tue Jan 22 10:07:36 2013
@@ -55,7 +55,6 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java?rev=1436827&r1=1436826&r2=1436827&view=diff
==============================================================================
--- activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java (original)
+++ activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/ActiveMQServiceFactory.java Tue Jan 22 10:07:36 2013
@@ -22,6 +22,8 @@ import org.apache.xbean.spring.context.R
import org.osgi.framework.BundleContext;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedServiceFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.Resource;
@@ -32,6 +34,8 @@ import java.util.Map;
public class ActiveMQServiceFactory implements ManagedServiceFactory {
+ private static final Logger LOG = LoggerFactory.getLogger(ActiveMQServiceFactory.class);
+
BundleContext bundleContext;
HashMap<String, BrokerService> brokers = new HashMap<String, BrokerService>();
@@ -41,7 +45,7 @@ public class ActiveMQServiceFactory impl
}
@Override
- public void updated(String pid, Dictionary properties) throws ConfigurationException {
+ synchronized public void updated(String pid, Dictionary properties) throws ConfigurationException {
String config = (String)properties.get("config");
if (config == null) {
throw new ConfigurationException("config", "Property must be set");
@@ -77,18 +81,24 @@ public class ActiveMQServiceFactory impl
}
@Override
- public void deleted(String pid) {
+ synchronized public void deleted(String pid) {
+ LOG.info("Stopping broker " + pid);
BrokerService broker = brokers.get(pid);
if (broker == null) {
- //TODO LOG
+ LOG.warn("Broker " + pid + " not found");
return;
}
try {
broker.stop();
broker.waitUntilStopped();
} catch (Exception e) {
- //TODO LOG
- e.printStackTrace();
+ LOG.error("Exception on stopping broker", e);
+ }
+ }
+
+ synchronized public void destroy() {
+ for (String broker: brokers.keySet()) {
+ deleted(broker);
}
}
Modified: activemq/trunk/activemq-karaf/src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml?rev=1436827&r1=1436826&r2=1436827&view=diff
==============================================================================
--- activemq/trunk/activemq-karaf/src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml (original)
+++ activemq/trunk/activemq-karaf/src/main/resources/OSGI-INF/blueprint/activemq-karaf.xml Tue Jan 22 10:07:36 2013
@@ -20,7 +20,7 @@
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:shell="http://karaf.apache.org/xmlns/shell/v1.0.0">
- <bean id="activeMQServiceFactory" class="org.apache.activemq.karaf.ActiveMQServiceFactory">
+ <bean id="activeMQServiceFactory" class="org.apache.activemq.karaf.ActiveMQServiceFactory" destroy-method="destroy">
<property name="bundleContext" ref="blueprintBundleContext"/>
</bean>