You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by li...@apache.org on 2010/06/23 03:30:29 UTC

svn commit: r957097 - in /incubator/aries/sandbox/linsun/mds/mds-impl: pom.xml src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java

Author: linsun
Date: Wed Jun 23 01:30:29 2010
New Revision: 957097

URL: http://svn.apache.org/viewvc?rev=957097&view=rev
Log:
[message driven service] remove the message driven service container dependency on activemq core or activemq ra

Modified:
    incubator/aries/sandbox/linsun/mds/mds-impl/pom.xml
    incubator/aries/sandbox/linsun/mds/mds-impl/src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java

Modified: incubator/aries/sandbox/linsun/mds/mds-impl/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/linsun/mds/mds-impl/pom.xml?rev=957097&r1=957096&r2=957097&view=diff
==============================================================================
--- incubator/aries/sandbox/linsun/mds/mds-impl/pom.xml (original)
+++ incubator/aries/sandbox/linsun/mds/mds-impl/pom.xml Wed Jun 23 01:30:29 2010
@@ -87,20 +87,6 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.activemq</groupId>
-			<artifactId>activemq-ra</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.activemq</groupId>
-			<artifactId>activemq-core</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.geronimo.components</groupId>
-			<artifactId>geronimo-connector</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.apache.geronimo.components</groupId>
 			<artifactId>geronimo-transaction</artifactId>
 		</dependency>

Modified: incubator/aries/sandbox/linsun/mds/mds-impl/src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/linsun/mds/mds-impl/src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java?rev=957097&r1=957096&r2=957097&view=diff
==============================================================================
--- incubator/aries/sandbox/linsun/mds/mds-impl/src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java (original)
+++ incubator/aries/sandbox/linsun/mds/mds-impl/src/main/java/org/apache/aries/mds/impl/MDSContainerImpl.java Wed Jun 23 01:30:29 2010
@@ -25,12 +25,9 @@ import javax.resource.spi.InvalidPropert
 import javax.resource.spi.ResourceAdapter;
 import javax.resource.spi.endpoint.MessageEndpointFactory;
 
+import org.apache.aries.mds.MDSContainer;
 import org.apache.xbean.recipe.ObjectRecipe;
 import org.apache.xbean.recipe.Option;
-
-import org.apache.activemq.ra.ActiveMQActivationSpec;
-import org.apache.activemq.ra.ActiveMQResourceAdapter;
-import org.apache.aries.mds.MDSContainer;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 public class MDSContainerImpl implements MDSContainer {
@@ -48,13 +45,21 @@ public class MDSContainerImpl implements
     }
     
     public void init() {
-        if (ra instanceof ActiveMQResourceAdapter) {
-            /*activationSpec = new ActiveMQActivationSpec();
-            activationSpec.setDestinationType(destinationType);
-            activationSpec.setDestination(destination);*/
-            activationSpec = createActivationSpec(sr, ActiveMQActivationSpec.class);
+        Class activationSpecClass = null;
+        try {
+            activationSpecClass = this.ra.getClass().getClassLoader()
+                    .loadClass("org.apache.activemq.ra.ActiveMQActivationSpec");
+        } catch (ClassNotFoundException e) {
+            // TODO Attempt to load other activation spec impl class
+            e.printStackTrace();
         }
-        // TODO add other resource adapter impl and activation spec impl
+
+        if (activationSpecClass == null) {
+            throw new NullPointerException(
+                    "Unable to load activationSpec class using the classloader of the ra "
+                            + ra.toString());
+        }
+        activationSpec = createActivationSpec(sr, activationSpecClass);
 
     }
     
@@ -110,10 +115,10 @@ public class MDSContainerImpl implements
         for (String propKey : propKeys) {
             objectRecipe.setMethodProperty(propKey, sr.getProperty(propKey));
         }
-
+        
         // create the activationSpec
         ActivationSpec activationSpec = (ActivationSpec) objectRecipe.create(activationSpecClass.getClassLoader());
-
+        
         if (activationSpec == null) {
             throw new NullPointerException("activationSpec is not configured and null");
         }