Author: rfeng
Date: Mon Mar 3 14:15:02 2008
New Revision: 633301
URL: http://svn.apache.org/viewvc?rev=633301&view=rev
Log:
Applied the patch for TUSCANY-1941 to avoid loading duplicate module activators
Modified:
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
Modified:
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=633301&r1=633300&r2=633301&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
(original)
+++
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
Mon Mar 3 14:15:02 2008
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -274,10 +275,15 @@
// Load and instantiate the modules found on the classpath (or any
registered classloaders)
modules = new ArrayList<ModuleActivator>();
try {
- Set<ServiceDeclaration> moduleActivators =
ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class);
-
- for (ServiceDeclaration moduleDeclarator : moduleActivators) {
- Class<?> moduleClass = moduleDeclarator.loadClass();
+ Set<ServiceDeclaration> moduleActivators =
+
ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class);
+ Set<String> moduleClasses = new HashSet<String>();
+ for (ServiceDeclaration moduleDeclarator : moduleActivators) {
+ if (moduleClasses.contains(moduleDeclarator.getClassName())) {
+ continue;
+ }
+ moduleClasses.add(moduleDeclarator.getClassName());
+ Class<?> moduleClass = moduleDeclarator.loadClass();
ModuleActivator module =
(ModuleActivator)moduleClass.newInstance();
modules.add(module);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]