summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-05-18 14:43:22 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-05-18 14:43:22 +0000
commit5cab7ece402ff44d0321706d4fb85b32706a77dd (patch)
tree7040b0cbe8360f4fc9e5292f4790f621093fb6f1
parent8dba7b7ab260e158765578c6fa3d65302b3e2abc (diff)
downloadqpid-python-5cab7ece402ff44d0321706d4fb85b32706a77dd.tar.gz
QPID-2585 : Ensure plugins are correctly loaded, so can renenable PluginTest. (Patch provided by Andrew Kennedy)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@945679 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/broker-plugins/extras/src/test/java/org/apache/qpid/server/plugins/PluginTest.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java15
2 files changed, 11 insertions, 8 deletions
diff --git a/qpid/java/broker-plugins/extras/src/test/java/org/apache/qpid/server/plugins/PluginTest.java b/qpid/java/broker-plugins/extras/src/test/java/org/apache/qpid/server/plugins/PluginTest.java
index edc6af8035..6f8f7a3a2a 100644
--- a/qpid/java/broker-plugins/extras/src/test/java/org/apache/qpid/server/plugins/PluginTest.java
+++ b/qpid/java/broker-plugins/extras/src/test/java/org/apache/qpid/server/plugins/PluginTest.java
@@ -47,7 +47,7 @@ public class PluginTest extends TestCase
properties.addProperty("plugin-directory", PLUGIN_DIRECTORY);
ServerConfiguration config = new ServerConfiguration(properties);
- // This Test requries an application Registry
+ // This Test requires an application Registry
ApplicationRegistry.initialise(new TestApplicationRegistry(config));
_registry = ApplicationRegistry.getInstance();
}
@@ -59,7 +59,7 @@ public class PluginTest extends TestCase
}
- public void disabled_testLoadExchanges() throws Exception
+ public void testLoadExchanges() throws Exception
{
PluginManager manager = _registry.getPluginManager();
Map<String, ExchangeType<?>> exchanges = manager.getExchanges();
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
index 293a9c5ebc..924570f00d 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
@@ -21,9 +21,9 @@ package org.apache.qpid.server.plugins;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.felix.framework.Felix;
-import org.apache.felix.framework.cache.BundleCache;
import org.apache.felix.framework.util.FelixConstants;
import org.apache.felix.framework.util.StringMap;
+import org.apache.felix.main.AutoProcessor;
import org.apache.qpid.server.configuration.plugins.ConfigurationPluginFactory;
import org.apache.qpid.server.exchange.ExchangeType;
import org.apache.qpid.server.security.access.ACLPlugin;
@@ -120,11 +120,11 @@ public class PluginManager
if (dir.isDirectory())
{
- for (String child : dir.list())
+ for (File child : dir.listFiles())
{
- if (child.endsWith("jar"))
+ if (child.getName().endsWith("jar"))
{
- pluginJars.append(String.format(" file:%s%s%s", plugindir, File.separator, child));
+ pluginJars.append(String.format(" file:%s%s%s", plugindir, File.separator, child.getName()));
}
}
}
@@ -137,8 +137,8 @@ public class PluginManager
// configMap.put(FelixConstants.AUTO_START_PROP + ".1", pluginJars.toString());
// configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, plugindir);
- configMap.put("felix.auto.start.1", pluginJars.toString());
- configMap.put("felix.shutdown.hook","false");
+ configMap.put(AutoProcessor.AUTO_START_PROP + ".1", pluginJars.toString());
+
configMap.put(FelixConstants.FRAMEWORK_STORAGE, plugindir);
@@ -154,6 +154,9 @@ public class PluginManager
_felix.start();
+
+ AutoProcessor.process(configMap, _felix.getBundleContext());
+
System.out.println("Started Plugin manager");
_exchangeTracker = new ServiceTracker(_activator.getContext(), ExchangeType.class.getName(), null);