You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2010/05/24 04:59:49 UTC

svn commit: r947531 - in /geronimo/server/branches/2.2/plugins/openejb: geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/ openejb-clustering-builder-wadi/src/main/plan/

Author: genspring
Date: Mon May 24 02:59:49 2010
New Revision: 947531

URL: http://svn.apache.org/viewvc?rev=947531&view=rev
Log:
GERONIMO-5339 cannot assign instance of org.apache.catalina.tribes.UniqueId to field org.codehaus.wadi.tribes.TribesPeer.uniqueId of type org.apache.catalina.tribes.UniqueId error when deploy wadi based session bean cluster to tomcat build.

Modified:
    geronimo/server/branches/2.2/plugins/openejb/geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/WADIOpenEJBClusteringBuilder.java
    geronimo/server/branches/2.2/plugins/openejb/openejb-clustering-builder-wadi/src/main/plan/plan.xml

Modified: geronimo/server/branches/2.2/plugins/openejb/geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/WADIOpenEJBClusteringBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.2/plugins/openejb/geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/WADIOpenEJBClusteringBuilder.java?rev=947531&r1=947530&r2=947531&view=diff
==============================================================================
--- geronimo/server/branches/2.2/plugins/openejb/geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/WADIOpenEJBClusteringBuilder.java (original)
+++ geronimo/server/branches/2.2/plugins/openejb/geronimo-openejb-clustering-builder-wadi/src/main/java/org/apache/geronimo/openejb/deployment/cluster/WADIOpenEJBClusteringBuilder.java Mon May 24 02:59:49 2010
@@ -22,9 +22,12 @@ package org.apache.geronimo.openejb.depl
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
 import java.util.jar.JarFile;
 
@@ -41,7 +44,6 @@ import org.apache.geronimo.deployment.se
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.gbean.annotation.ParamAttribute;
@@ -53,6 +55,8 @@ import org.apache.geronimo.kernel.GBeanA
 import org.apache.geronimo.kernel.GBeanNotFoundException;
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.kernel.repository.Dependency;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
 import org.apache.geronimo.openejb.cluster.deployment.ClusteredDeployment;
@@ -104,6 +108,8 @@ public class WADIOpenEJBClusteringBuilde
     private final AbstractNameQuery defaultNetworkConnectorName;
     private final Environment defaultEnvironment;
     
+    private final Artifact artifactToRemoveFromEnvironment;
+    
 
     public WADIOpenEJBClusteringBuilder(
             @ParamAttribute(name = "defaultClusteredStatefulContainerId") String defaultClusteredStatefulContainerId,
@@ -113,6 +119,7 @@ public class WADIOpenEJBClusteringBuilde
             @ParamAttribute(name = "defaultNumPartitions") int defaultNumPartitions,
             @ParamAttribute(name = "defaultBackingStrategyFactoryName") AbstractNameQuery defaultBackingStrategyFactoryName, 
             @ParamAttribute(name = "defaultClusterName") AbstractNameQuery defaultClusterName,
+            @ParamAttribute(name = "artifactToRemoveFromEnvironment") Artifact artifactToRemoveFromEnvironment,
             @ParamAttribute(name = "defaultNetworkConnectorName") AbstractNameQuery defaultNetworkConnectorName,
             @ParamAttribute(name = "defaultEnvironment") Environment defaultEnvironment) {
         if (null == defaultClusteredStatefulContainerId) {
@@ -129,6 +136,8 @@ public class WADIOpenEJBClusteringBuilde
             throw new IllegalArgumentException("defaultBackingStrategyFactoryName is required");
         } else if (null == defaultClusterName) {
             throw new IllegalArgumentException("defaultClusterName is required");
+        } else if (null == artifactToRemoveFromEnvironment) {
+            throw new IllegalArgumentException("artifactToRemoveFromEnvironment is required");
         } else if (null == defaultEnvironment) {
             throw new IllegalArgumentException("defaultEnvironment is required");
         } else if (null == defaultNetworkConnectorName) {
@@ -141,6 +150,7 @@ public class WADIOpenEJBClusteringBuilde
         this.defaultNumPartitions = defaultNumPartitions;
         this.defaultBackingStrategyFactoryName = defaultBackingStrategyFactoryName;
         this.defaultClusterName = defaultClusterName;
+        this.artifactToRemoveFromEnvironment = artifactToRemoveFromEnvironment;
         this.defaultNetworkConnectorName = defaultNetworkConnectorName;
         this.defaultEnvironment = defaultEnvironment;
         
@@ -233,12 +243,29 @@ public class WADIOpenEJBClusteringBuilde
         if (null == clusteringWadiType) {
             return;
         }
-
+        
+        
+        filterDependencies(environment);
+        
         EnvironmentBuilder.mergeEnvironments(environment, defaultEnvironment);
 
         ejbModule.getPreAutoConfigDeployer().add(new MapSessionBeanToContainerIDDeployer(defaultClusteredStatefulContainerId,SessionType.STATEFUL));
         ejbModule.getPreAutoConfigDeployer().add(new MapSessionBeanToContainerIDDeployer(defaultClusteredStatelessContainerId,SessionType.STATELESS));
     }
+    
+    protected void filterDependencies(Environment environment) {
+                List<Dependency> dependencies = environment.getDependencies();
+                dependencies = new ArrayList<Dependency>(dependencies);
+                for (Iterator<Dependency> iterator = dependencies.iterator(); iterator.hasNext();) {
+                    Dependency dependency = iterator.next();
+                    Artifact dependencyArtifact = dependency.getArtifact();
+                    if (artifactToRemoveFromEnvironment.matches(dependencyArtifact)) {
+                        iterator.remove();
+                    }
+                }
+                environment.setDependencies(dependencies);
+            }
+        
 
     public void initContext(EARContext earContext, Module module, ClassLoader cl) throws DeploymentException {
     }

Modified: geronimo/server/branches/2.2/plugins/openejb/openejb-clustering-builder-wadi/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.2/plugins/openejb/openejb-clustering-builder-wadi/src/main/plan/plan.xml?rev=947531&r1=947530&r2=947531&view=diff
==============================================================================
--- geronimo/server/branches/2.2/plugins/openejb/openejb-clustering-builder-wadi/src/main/plan/plan.xml (original)
+++ geronimo/server/branches/2.2/plugins/openejb/openejb-clustering-builder-wadi/src/main/plan/plan.xml Mon May 24 02:59:49 2010
@@ -28,6 +28,7 @@
         <attribute name="defaultNumPartitions">24</attribute>
         <attribute name="defaultBackingStrategyFactoryName">?name=DefaultBackingStrategyFactory</attribute>
         <attribute name="defaultClusterName">?name=DefaultCluster</attribute>
+        <attribute name="artifactToRemoveFromEnvironment">org.apache.geronimo.configs/tomcat6//car</attribute>
         <attribute name="defaultNetworkConnectorName">?#org.apache.geronimo.openejb.EjbDaemonGBean</attribute>
         <xml-attribute name="defaultEnvironment">
             <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">