[jboss-cvs] JBossAS SVN: r107674 - in branches/infinispan-int: system/src/main/java/org/jboss/system/server/profileservice/deployers and 9 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 18 13:56:10 EDT 2010
Author: pferraro
Date: 2010-08-18 13:56:09 -0400 (Wed, 18 Aug 2010)
New Revision: 107674
Added:
branches/infinispan-int/testsuite/imports/sections/cluster.xml
Removed:
branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/EndpointAPIHttpServer.java
branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/HttpServerFactoryImpl.java
branches/infinispan-int/webservices/src/resources/jbossws-jboss.jar/META-INF/services/org.jboss.wsf.spi.http.HttpServerFactory
Modified:
branches/infinispan-int/component-matrix/pom.xml
branches/infinispan-int/system/src/main/java/org/jboss/system/server/profileservice/deployers/VDFDeploymentBuilder.java
branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/ClusteredDeploymentRepoAddContentTestCase.java
branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterHotDeployUnitTestCase.java
branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterStartupTestCase.java
branches/infinispan-int/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
branches/infinispan-int/weld-int/deployer/pom.xml
branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java
branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java
branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java
branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java
Log:
merge --depth=infinity -r107556:107659 https://svn.jboss.org/repos/jbossas/trunk
Modified: branches/infinispan-int/component-matrix/pom.xml
===================================================================
--- branches/infinispan-int/component-matrix/pom.xml 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/component-matrix/pom.xml 2010-08-18 17:56:09 UTC (rev 107674)
@@ -44,7 +44,7 @@
<version.commons.beanutils>1.8.0</version.commons.beanutils>
<version.com.google.guava>r06</version.com.google.guava>
<version.fastinfoset>1.2.2</version.fastinfoset>
- <version.hornetq>2.1.1.Final</version.hornetq>
+ <version.hornetq>2.1.2.Final</version.hornetq>
<version.rhq>1.4.0.B01</version.rhq>
<version.jacorb>2.3.1jboss.patch01-brew</version.jacorb>
<version.javassist>3.12.1.GA</version.javassist>
@@ -127,7 +127,7 @@
<version.org.jboss.kernel>2.2.0.Alpha10</version.org.jboss.kernel>
<version.org.jboss.logging>3.0.0.Beta4</version.org.jboss.logging>
<version.org.jboss.logging-service-metadata>1.0.0.CR9</version.org.jboss.logging-service-metadata>
- <version.org.jboss.logmanager>1.2.0.CR5</version.org.jboss.logmanager>
+ <version.org.jboss.logmanager>1.2.0.CR6</version.org.jboss.logmanager>
<version.org.jboss.man>2.1.1.SP2</version.org.jboss.man>
<version.org.jboss.marshalling>1.3.0.CR3</version.org.jboss.marshalling>
<version.org.jboss.mc-int>2.2.0.Alpha2</version.org.jboss.mc-int>
@@ -1682,7 +1682,7 @@
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
- <version>3.2.0.Final</version>
+ <version>3.2.1.Final</version>
</dependency>
<dependency>
Modified: branches/infinispan-int/system/src/main/java/org/jboss/system/server/profileservice/deployers/VDFDeploymentBuilder.java
===================================================================
--- branches/infinispan-int/system/src/main/java/org/jboss/system/server/profileservice/deployers/VDFDeploymentBuilder.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/system/src/main/java/org/jboss/system/server/profileservice/deployers/VDFDeploymentBuilder.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -21,14 +21,17 @@
*/
package org.jboss.system.server.profileservice.deployers;
-import java.util.ArrayList;
-import java.util.List;
+import java.net.URI;
+import java.net.URISyntaxException;
import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
import org.jboss.deployers.client.spi.Deployment;
import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
import org.jboss.profileservice.deployment.DeploymentBuilder;
import org.jboss.profileservice.spi.ProfileDeployment;
+import org.jboss.system.server.profileservice.repository.LegacyProfileDeploymentFactory.WorkaroundProfileDeployment;
+import org.jboss.vfs.VFS;
+import org.jboss.vfs.VirtualFile;
/**
@@ -47,19 +50,15 @@
/** The vfs deployment factory. */
private static final VFSDeploymentFactory deploymentFactory = VFSDeploymentFactory.getInstance();
-
- /** The attachment processor. */
- private final List<DeploymentAttachmentsProcessor<Deployment>> attachmentProcessors = new ArrayList<DeploymentAttachmentsProcessor<Deployment>>();
+ private final StructureMetaDataBuilder deploymentProcessor = new StructureMetaDataBuilder();
+
public static VDFDeploymentBuilder getInstance()
{
return instance;
}
- protected VDFDeploymentBuilder()
- {
- attachmentProcessors.add(new StructureMetaDataBuilder());
- }
+ private VDFDeploymentBuilder() { }
public Deployment createDeployment(ProfileDeployment profileDeployment)
{
@@ -70,21 +69,24 @@
}
else
{
- d = deploymentFactory.createVFSDeployment(profileDeployment.getName(), profileDeployment.getRoot());
+ VirtualFile vf = profileDeployment.getRoot();
+ // The ones created using the {@code AutoUnmounter}
+ if(profileDeployment instanceof WorkaroundProfileDeployment)
+ {
+ try
+ {
+ vf = VFS.getChild(new URI(profileDeployment.getName()));
+ }
+ catch (URISyntaxException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ d = deploymentFactory.createVFSDeployment(profileDeployment.getName(), vf);
}
- for(DeploymentAttachmentsProcessor<Deployment> processor : attachmentProcessors)
- {
- processor.processDeployment(profileDeployment, d);
- }
+
+ deploymentProcessor.processDeployment(profileDeployment, d);
return d;
}
-
- public void addAttachmentsProcessor(DeploymentAttachmentsProcessor<Deployment> processor)
- {
- synchronized(attachmentProcessors)
- {
- attachmentProcessors.add(processor);
- }
- }
}
Added: branches/infinispan-int/testsuite/imports/sections/cluster.xml
===================================================================
--- branches/infinispan-int/testsuite/imports/sections/cluster.xml (rev 0)
+++ branches/infinispan-int/testsuite/imports/sections/cluster.xml 2010-08-18 17:56:09 UTC (rev 107674)
@@ -0,0 +1,864 @@
+
+
+<project name="tests-cluster-jars">
+
+ <target name="_jars-cluster" depends="compile-resources">
+ <war warfile="${build.lib}/dist-ss.war"
+ webxml="${build.resources}/cluster/web/web.xml">
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/*"/>
+ </classes>
+ </war>
+
+ <jar destfile="${build.lib}/ds-tests.sar">
+ <metainf dir="${build.resources}/cluster/ds">
+ <include name="jboss-service.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hapartition/ds/*"/>
+ <include name="org/jboss/test/cluster/multicfg/test/*_Stub.class"/>
+ </fileset>
+ </jar>
+
+ <jar destfile="${build.lib}/drm-tests.sar">
+ <metainf dir="${build.resources}/cluster/drm">
+ <include name="jboss-service.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hapartition/drm/*"/>
+ <include name="org/jboss/test/cluster/multicfg/test/*_Stub.class"/>
+ </fileset>
+ </jar>
+
+ <jar destfile="${build.lib}/rpc-tests.sar">
+ <metainf dir="${build.resources}/cluster/rpc">
+ <include name="jboss-service.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hapartition/rpc/*"/>
+ </fileset>
+ </jar>
+
+ <jar destfile="${build.lib}/rpc-cl-tests.sar">
+ <metainf dir="${build.resources}/cluster/rpc-cl">
+ <include name="jboss-service.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hapartition/rpc/*"/>
+ </fileset>
+ </jar>
+
+ <jar destfile="${build.lib}/partitionstatetransfer.sar">
+ <metainf dir="${build.resources}/cluster/partition">
+ <include name="jboss-beans.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hapartition/state/*"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/ejb2/passexp">
+ <include name="META-INF/passexp-stacks.xml"/>
+ </fileset>
+ </jar>
+
+ <!-- Deployments for testing Clustered DeploymentRepository (i.e. farming) -->
+ <copy todir="${build.lib}" overwrite="true">
+ <fileset dir="${build.resources}/cluster/profileservice"/>
+ <fileset dir="${build.resources}/cluster/farm/hotdeploy"/>
+ </copy>
+
+ <mkdir dir="${build.resources}/test-configs/cluster-profilesvc-0/farm"/>
+ <mkdir dir="${build.resources}/test-configs/cluster-profilesvc-1/farm"/>
+
+ <war warfile="${build.resources}/test-configs/cluster-profilesvc-0/farm/farmE.war">
+ <fileset dir="${source.resources}/test-configs/cluster-profilesvc-0/farm/farmA.war">
+ <include name="**/*"/>
+ </fileset>
+ </war>
+
+ <war warfile="${build.resources}/test-configs/cluster-profilesvc-1/farm/farmF.war">
+ <fileset dir="${source.resources}/test-configs/cluster-profilesvc-1/farm/farmB.war">
+ <include name="**/*"/>
+ </fileset>
+ </war>
+
+ <copy file="${build.resources}/test-configs/cluster-profilesvc-0/farm/farmE.war"
+ tofile="${build.lib}/hd-add-zipped.war"/>
+
+ <copy file="${build.lib}/hd-add-zipped.war" tofile="${build.lib}/hd-mod-zipped.war"/>
+ <copy file="${build.lib}/hd-mod-zipped.war" tofile="${build.resources}/test-configs/cluster-profilesvc-0/farm/hd-mod-zipped.war"/>
+ <copy file="${build.lib}/hd-mod-zipped.war" tofile="${build.resources}/test-configs/cluster-profilesvc-1/farm/hd-mod-zipped.war"/>
+
+ <!-- MC beans for testing partition restart -->
+ <copy todir="${build.lib}"
+ file="${build.resources}/cluster/partition/partition-restart-jboss-beans.xml"
+ overwrite="true"/>
+
+ <!-- EJBs for testing partition restart -->
+ <jar destfile="${build.lib}/partition-restart.jar">
+ <fileset dir="${build.classes}">
+ <patternset refid="jboss.test.util.ejb.set"/>
+ <include name="org/jboss/test/testbean/interfaces/**"/>
+ <include name="org/jboss/test/testbean/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+ <include name="org/somepackage/**"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/partition">
+ <include name="META-INF/*.xml"/>
+ </fileset>
+ </jar>
+
+ <!--beans for testing HASingletonDeployerTestCase -->
+ <copy todir="${build.lib}"
+ file="${build.resources}/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml"
+ overwrite="true"/>
+
+ <!--sar for testing HASingletonElectionPolicy -->
+ <jar destfile="${build.lib}/ha-singleton-election.sar">
+ <metainf dir="${build.resources}/cluster/hasingleton/electionpolicy">
+ <include name="ha-electionpolicy-jboss-beans.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hasingleton/*Example*.class"/>
+ </fileset>
+ </jar>
+
+ <!--beans for testing HASingletonControllerBeanUnitTestCase -->
+ <jar destfile="${build.lib}/ha-singleton-pojo.sar">
+ <metainf dir="${build.resources}/cluster/hasingleton/">
+ <include name="ha-singleton-jboss-beans.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/hasingleton/*Example*.class"/>
+ </fileset>
+ </jar>
+
+ <!--beans for testing HAServiceUnitTestCase, HASingletonUnitTestCase -->
+ <jar destfile="${build.lib}/ha-service.sar">
+ <metainf dir="${build.resources}/cluster/haservice">
+ <include name="*.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/haservice/**"/>
+ </fileset>
+ </jar>
+
+ <!-- ha-invoker adaptor sar -->
+ <jar destfile="${build.lib}/ha-invoker.sar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/invokerha/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/invokerha/">
+ <include name="META-INF/*.xml"/>
+ </fileset>
+ </jar>
+
+ <!-- The cross-server.jar ejb jar -->
+ <zip destfile="${build.lib}/cross-server.jar">
+ <zipfileset dir="${build.resources}/cluster/cross-server"
+ prefix="META-INF"/>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/ejb2/crossserver/*"/>
+ </fileset>
+ </zip>
+
+ <!-- Remote interface to JBoss Cache -->
+ <jar destfile="${build.lib}/jbosscache-helper.sar">
+ <metainf dir="${build.resources}/cluster/web/cachehelper">
+ <include name="jboss-beans.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/TestConfigurationAdder.class"/>
+ </fileset>
+ </jar>
+
+ <!-- build httpsessionreplication.jar -->
+ <war warfile="${build.lib}/http-sr.war"
+ webxml="${build.resources}/cluster/http/http-sr/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-sr/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <fileset dir="${build.resources}/cluster/http">
+ <include name="*.jsp"/>
+ </fileset>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ </classes>
+ </war>
+
+ <!-- build http-default.war (copy of http-sr, w/out jboss-web.xml) -->
+ <war warfile="${build.lib}/http-default.war"
+ webxml="${build.resources}/cluster/http/http-sr/WEB-INF/web.xml">
+ <fileset dir="${build.resources}/cluster/http">
+ <include name="*.jsp"/>
+ </fileset>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ </classes>
+ </war>
+
+ <!-- build http-jk.jar -->
+ <war warfile="${build.lib}/http-jk.war"
+ webxml="${build.resources}/cluster/http/http-jk/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-jk/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <fileset dir="${build.resources}/cluster/http/http-jk">
+ <include name="*.jsp"/>
+ </fileset>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ </classes>
+ </war>
+
+ <!-- build http-scoped.jar -->
+ <copy
+ tofile="${build.resources}/cluster/http/http-scoped/WEB-INF/jboss-web.xml"
+ file="${build.resources}/cluster/http/http-scoped/jboss-web.xml"
+ overwrite="true"/>
+
+ <war warfile="${build.lib}/http-scoped.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-scoped/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include
+ name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include
+ name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <!-- build http-scoped-attr.jar -->
+ <copy
+ tofile="${build.resources}/cluster/http/http-scoped/WEB-INF/jboss-web.xml"
+ file="${build.resources}/cluster/http/http-scoped/jboss-web-attr-based.xml"
+ overwrite="true"/>
+
+ <war warfile="${build.lib}/http-scoped-attr.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-scoped/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include
+ name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include
+ name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <!-- build http-scoped-set.jar -->
+ <copy
+ tofile="${build.resources}/cluster/http/http-scoped/WEB-INF/jboss-web.xml"
+ file="${build.resources}/cluster/http/http-scoped/jboss-web-set-trigger.xml"
+ overwrite="true"/>
+
+ <war warfile="${build.lib}/http-scoped-set.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-scoped/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include
+ name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include
+ name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <!-- build http-scoped-set-attr.jar -->
+ <copy
+ tofile="${build.resources}/cluster/http/http-scoped/WEB-INF/jboss-web.xml"
+ file="${build.resources}/cluster/http/http-scoped/jboss-web-attr-set.xml"
+ overwrite="true"/>
+
+ <war warfile="${build.lib}/http-scoped-set-attr.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-scoped/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include
+ name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include
+ name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <!-- build http-cross-ctx-first.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-first.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-first/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-cross-ctx-first/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-first">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <!-- build http-cross-ctx-second.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-second.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-second/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-cross-ctx-second/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-second">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <!-- build http-cross-ctx-third.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-third.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-third/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/http-cross-ctx-third/WEB-INF">
+ <include name="jboss-web.xml"/>
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-third">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <ear earfile="${build.lib}/http-cross-ctx.ear"
+ appxml="${build.resources}/cluster/http/application.xml">
+ <fileset dir="${build.lib}">
+ <include name="http-cross-ctx-first.war"/>
+ <include name="http-cross-ctx-second.war"/>
+ <include name="http-cross-ctx-third.war"/>
+ </fileset>
+ </ear>
+
+ <!-- Session passivation test wars -->
+
+ <war warfile="${build.lib}/http-session-pass.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/passivation/SESSION">
+ <include name="*"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <war warfile="${build.lib}/http-attr-pass.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/http/passivation/ATTRIBUTE">
+ <include name="*"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <!-- Build clustered classloader leak test archives -->
+
+ <war destfile="${build.lib}/cluster-clleak-simple.war"
+ webxml="${build.resources}/cluster/classloader/leak/war/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/classloader/leak/war/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/classloader/leak/web/*"/>
+ <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
+ </classes>
+ </war>
+ <war destfile="${build.lib}/cluster-clleak-nopass.war"
+ webxml="${build.resources}/cluster/classloader/leak/war/nopass/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/classloader/leak/war/nopass/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/classloader/leak/web/*"/>
+ <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
+ </classes>
+ </war>
+ <war destfile="${build.lib}/cluster-clleak-simple-replicable.war"
+ webxml="${build.resources}/cluster/classloader/leak/war/replicable/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/classloader/leak/war/WEB-INF">
+ <include name="jboss-web.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/classloader/leak/web/*"/>
+ <include name="org/jboss/test/classloader/leak/aop/*"/>
+ <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
+ </classes>
+ </war>
+ <war destfile="${build.lib}/cluster-clleak-simple-ejb.war"
+ webxml="${build.resources}/cluster/classloader/leak/war/ejb2/WEB-INF/web.xml">
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/classloader/leak/web/*"/>
+ <include name="org/jboss/test/classloader/leak/aop/*"/>
+ <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
+ </classes>
+ </war>
+ <jar destfile="${build.lib}/cluster-clleak-ejb.jar"
+ manifest="${build.resources}/cluster/classloader/leak/ejb/META-INF/MANIFEST.MF">
+ <metainf dir="${build.resources}/cluster/classloader/leak/ejb/META-INF"/>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/classloader/leak/ejb/**"/>
+ </fileset>
+ </jar>
+ <ear destfile="${build.lib}/cluster-clleak-simple.ear"
+ appxml="${build.resources}/cluster/classloader/leak/ear/META-INF/application.xml">
+ <fileset dir="${build.lib}">
+ <include name="cluster-clleak-simple-ejb.war"/>
+ <include name="cluster-clleak-ejb.jar"/>
+ </fileset>
+ </ear>
+ <ear destfile="${build.lib}/cluster-clleak-simple-isolated.ear"
+ appxml="${build.resources}/cluster/classloader/leak/ear/META-INF/application.xml">
+ <metainf dir="${build.resources}/cluster/classloader/leak/ear/META-INF">
+ <include name="jboss-app.xml"/>
+ </metainf>
+ <fileset dir="${build.lib}">
+ <include name="cluster-clleak-simple-ejb.war"/>
+ <include name="cluster-clleak-ejb.jar"/>
+ </fileset>
+ </ear>
+ <ear destfile="${build.lib}/cluster-clleak-noweb.ear"
+ appxml="${build.resources}/cluster/classloader/leak/ear/META-INF/application-noweb.xml">
+ <fileset dir="${build.lib}">
+ <include name="cluster-clleak-ejb.jar"/>
+ </fileset>
+ </ear>
+ <ear destfile="${build.lib}/cluster-clleak-noweb-isolated.ear"
+ appxml="${build.resources}/cluster/classloader/leak/ear/META-INF/application-noweb.xml">
+ <metainf dir="${build.resources}/cluster/classloader/leak/ear/META-INF">
+ <include name="jboss-app.xml"/>
+ </metainf>
+ <fileset dir="${build.lib}">
+ <include name="cluster-clleak-ejb.jar"/>
+ </fileset>
+ </ear>
+
+ <!-- DataSourcePersistentManager Tests -->
+ <copy todir="${build.lib}"
+ file="${build.resources}/cluster/persistent/httpsession-ds.xml"
+ overwrite="true"/>
+
+ <jar destfile="${build.lib}/disable-manager-override.beans">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/persistent/ManagerOverrideDisabler.class"/>
+ </fileset>
+ <metainf dir="${build.resources}/cluster/persistent/">
+ <include name="disable-manager-override-jboss-beans.xml"/>
+ </metainf>
+ </jar>
+
+ <!-- build http-cross-ctx-first-persistent.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-first-persistent.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-first/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/persistent/WEB-INF">
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-first">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <!-- build http-cross-ctx-second-persistent.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-second-persistent.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-second/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/persistent/WEB-INF">
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-second">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <!-- build http-cross-ctx-third-persistent.jar -->
+ <war warfile="${build.lib}/http-cross-ctx-third-persistent.war"
+ webxml="${build.resources}/cluster/http/http-cross-ctx-third/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/persistent/WEB-INF">
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+ <fileset dir="${build.resources}/cluster/http/http-cross-ctx-third">
+ <include name="*.jsp"/>
+ </fileset>
+ </war>
+
+ <ear earfile="${build.lib}/http-cross-ctx-persistent.ear"
+ appxml="${build.resources}/cluster/persistent/META-INF/application.xml">
+ <fileset dir="${build.lib}">
+ <include name="http-cross-ctx-first-persistent.war"/>
+ <include name="http-cross-ctx-second-persistent.war"/>
+ <include name="http-cross-ctx-third-persistent.war"/>
+ </fileset>
+ </ear>
+
+ <war warfile="${build.lib}/http-scoped-persistent.war"
+ webxml="${build.resources}/cluster/http/http-scoped/WEB-INF/web.xml">
+ <webinf dir="${build.resources}/cluster/persistent/WEB-INF">
+ <include name="context.xml"/>
+ </webinf>
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/Person.class"/>
+ <include name="org/jboss/test/cluster/web/CacheHelper*"/>
+ <include
+ name="org/jboss/test/cluster/web/BindingListener.class"/>
+ <include
+ name="org/jboss/test/cluster/web/DeserializationSensor.class"/>
+ </classes>
+
+ <fileset dir="${build.resources}/cluster/http/http-scoped">
+ <include name="*.jsp"/>
+ <include name="*.html"/>
+ </fileset>
+ </war>
+
+ <jar destfile="${build.lib}/rdbmsstore-tablesetup.jar">
+ <metainf dir="${build.resources}/cluster/persistent">
+ <include name="rdbmsstore-tablesetup-jboss-beans.xml"/>
+ </metainf>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/web/persistent/PersistentStoreTableSetup.class"/>
+ </fileset>
+ </jar>
+
+ <!-- JPA Clustered Second Level Cache -->
+ <jar jarfile="${build.lib}/clusteredentity-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity">
+ <include name="META-INF/persistence.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-optimistic-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/optimistic">
+ <include name="META-INF/persistence.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-classloader-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/classloader/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/persistence.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-classloader-optimistic-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/classloader/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader/optimistic">
+ <include name="META-INF/persistence.xml"/>
+ <!--include name="META-INF/jboss.xml"/-->
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-classloader-test.ear">
+ <fileset dir="${build.lib}">
+ <include name="clusteredentity-classloader-test.jar"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/application.xml"/>
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-classloader-optimistic-test.ear">
+ <fileset dir="${build.lib}">
+ <include name="clusteredentity-classloader-optimistic-test.jar"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader/optimistic">
+ <include name="META-INF/application.xml"/>
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-providedprefix-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/classloader/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/providedprefix">
+ <include name="META-INF/persistence.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-providedprefix-test.ear">
+ <fileset dir="${build.lib}">
+ <include name="clusteredentity-providedprefix-test.jar"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/providedprefix">
+ <include name="META-INF/application.xml"/>
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-embeddedid-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/embeddedid/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/persistence.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-embeddedid-optimistic-test.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/clusteredentity/embeddedid/*.class"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader/optimistic">
+ <include name="META-INF/persistence.xml"/>
+ <!--include name="META-INF/jboss.xml"/-->
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-embeddedid-test.ear">
+ <fileset dir="${build.lib}">
+ <include name="clusteredentity-embeddedid-test.jar"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/embeddedid">
+ <include name="META-INF/application.xml"/>
+ </fileset>
+ </jar>
+
+ <jar jarfile="${build.lib}/clusteredentity-embeddedid-optimistic-test.ear">
+ <fileset dir="${build.lib}">
+ <include name="clusteredentity-embeddedid-optimistic-test.jar"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/classloader">
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="clusteredentity-ds.xml"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/clusteredentity/embeddedid/optimistic">
+ <include name="META-INF/application.xml"/>
+ </fileset>
+ </jar>
+
+
+ </target>
+
+ <!-- testbeancluster test -->
+ <target name="_jars-testbeancluster" depends="compile-resources">
+ <mkdir dir="${build.lib}"/>
+
+ <copy todir="${build.lib}"
+ file="${build.resources}/cluster/ejb2/basic/cif-ds.xml"
+ overwrite="true"/>
+
+ <!-- build testbeancluster.jar -->
+ <jar destfile="${build.lib}/testbeancluster.jar">
+ <fileset dir="${build.classes}">
+ <patternset refid="jboss.test.util.ejb.set"/>
+ <include name="org/jboss/test/testbean/interfaces/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+ <include name="org/jboss/test/testbean/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/proxy/**"/>
+ <include name="org/somepackage/**"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/ejb2/basic">
+ <include name="META-INF/*.xml"/>
+ </fileset>
+ </jar>
+
+ <!-- build sfsb-passexp.jar -->
+ <jar destfile="${build.lib}/sfsb-passexp.jar">
+ <fileset dir="${build.classes}">
+ <patternset refid="jboss.test.util.ejb.set"/>
+ <include name="org/jboss/test/testbean/interfaces/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+ <include name="org/jboss/test/testbean/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/proxy/**"/>
+ <include name="org/somepackage/**"/>
+ </fileset>
+ <fileset dir="${build.resources}/cluster/ejb2/passexp">
+ <include name="META-INF/ejb-jar.xml"/>
+ <include name="META-INF/jboss.xml"/>
+ </fileset>
+ </jar>
+
+ <!-- build sfsb-passexp.sar -->
+ <jar destfile="${build.lib}/sfsb-passexp.sar">
+ <fileset dir="${build.resources}/cluster/ejb2/passexp">
+ <include name="META-INF/partition-passexp-jboss-beans.xml"/>
+ <include name="META-INF/passexp-stacks.xml"/>
+ </fileset>
+ </jar>
+
+ <jar destfile="${build.lib}/test-cif.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/testbean/interfaces/AComplexPK.class"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+ </fileset>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/ejb-jar.xml" includes="cif-ejb-jar.xml"/>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/jboss.xml" includes="cif-jboss.xml"/>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/jbosscmp-jdbc.xml" includes="jbosscmp-jdbc.xml"/>
+ </jar>
+ <ear destfile="${build.lib}/test-cif.ear"
+ appxml="${build.resources}/cluster/ejb2/basic/application.xml">
+ <!--metainf dir="${build.resources}/cluster/ejb2/basic">
+ <include name="jboss-app.xml"/>
+ </metainf-->
+ <fileset dir="${build.lib}">
+ <include name="test-cif.jar"/>
+ </fileset>
+ <!--fileset dir="${build.resources}/cluster/ejb2/basic">
+ <include name="cif-ds.xml"/>
+ </fileset-->
+ </ear>
+
+ <jar destfile="${build.lib}/test-retry.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/testbean/interfaces/AComplexPK.class"/>
+ <include name="org/jboss/test/testbean/interfaces/**"/>
+ <include name="org/jboss/test/testbean/bean/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+ <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+ </fileset>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/ejb-jar.xml" includes="retry-ejb-jar.xml"/>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/jboss.xml" includes="retry-jboss.xml"/>
+ <zipfileset dir="${build.resources}/cluster/ejb2/basic"
+ fullpath="META-INF/jbosscmp-jdbc.xml" includes="retry-jbosscmp-jdbc.xml"/>
+ </jar>
+ <ear destfile="${build.lib}/test-retry.ear"
+ appxml="${build.resources}/cluster/ejb2/basic/retry-application.xml">
+ <!--metainf dir="${build.resources}/cluster/ejb2/basic">
+ <include name="jboss-app.xml"/>
+ </metainf-->
+ <fileset dir="${build.lib}">
+ <include name="test-retry.jar"/>
+ </fileset>
+ <!--fileset dir="${build.resources}/cluster/ejb2/basic">
+ <include name="cif-ds.xml"/>
+ </fileset-->
+ </ear>
+
+ <!-- ustxsticky.jar -->
+ <zip destfile="${build.lib}/ustxsticky.jar">
+ <zipfileset dir="${build.resources}/cluster/ejb2/ustxsticky"/>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/ejb2/ustxsticky/*"/>
+ </fileset>
+ </zip>
+
+ <zip destfile="${build.lib}/rspfilter.sar">
+ <zipfileset dir="${build.resources}/cluster/rspfilter"/>
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/cluster/rspfilter/*"/>
+ </fileset>
+ </zip>
+
+ </target>
+
+</project>
Property changes on: branches/infinispan-int/testsuite/imports/sections/cluster.xml
___________________________________________________________________
Name: svn:executable
+ *
Modified: branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/ClusteredDeploymentRepoAddContentTestCase.java
===================================================================
--- branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/ClusteredDeploymentRepoAddContentTestCase.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/ClusteredDeploymentRepoAddContentTestCase.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -44,11 +44,9 @@
import org.jboss.test.JBossClusteredTestCase;
/**
+ * Tests adding content to the farm deployment repo via the ProfileService API.
*
- *
* @author Brian Stansberry
- *
- * @version $Revision: $
*/
public class ClusteredDeploymentRepoAddContentTestCase
extends JBossClusteredTestCase implements ProgressListener
Modified: branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterHotDeployUnitTestCase.java
===================================================================
--- branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterHotDeployUnitTestCase.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterHotDeployUnitTestCase.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -27,6 +27,7 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.net.HttpURLConnection;
import java.util.Properties;
import javax.management.MBeanServerConnection;
@@ -34,6 +35,8 @@
import javax.naming.Context;
import javax.naming.InitialContext;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.GetMethod;
import org.jboss.deployers.spi.management.ManagementView;
import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedComponent;
@@ -43,6 +46,9 @@
import org.jboss.test.JBossClusteredTestCase;
/**
+ * Tests hot deployment of farm/ folder content updated by direct manipulation
+ * of the filesystem.
+ *
* @author Brian Stansberry
*
*/
@@ -102,6 +108,9 @@
// New dir
checkContentRemoved("jboss.system:service=HDAddDirTestThreadPool", 0);
+ // New zip
+ checkWebContent("/hd-add-zipped/index.html", HttpURLConnection.HTTP_NOT_FOUND, 0);
+
// Simple removal
checkContent("jboss.system:service=HDRemoveTestThreadPool", "RemoveFarmThreadPool", 0);
@@ -115,7 +124,10 @@
checkContent("jboss.system:service=HDModifyNestedTestThreadPool", "UnmodifiedNestedFarmThreadPool", 0);
// Simple mod
- checkContent("jboss.system:service=HDModifyTestThreadPool", "UnmodifiedFarmThreadPool", 0);
+ checkContent("jboss.system:service=HDModifyTestThreadPool", "UnmodifiedFarmThreadPool", 0);
+
+ // Zipped mod
+ checkWebContent("/hd-mod-zipped/index.html", HttpURLConnection.HTTP_OK, 0);
}
private void performModifications() throws Exception
@@ -123,6 +135,9 @@
// Simple add
copyFile(farmDir, "hd-add-deployment-service.xml");
+ // Add of zipped content
+ copyFile(farmDir, "hd-add-zipped.war");
+
// Nested add
File dir = new File(farmDir, "hd-nestedAdd");
dir.mkdir();
@@ -133,6 +148,9 @@
dir.mkdir();
copyFile(dir, "hd-add-dir-deployment-service.xml");
+ // Add of zipped content
+ copyFile(farmDir, "hd-add-zipped.war");
+
// Simple removal
File toRemove = new File(farmDir, "hd-remove-deployment-service.xml");
removeFile(toRemove);
@@ -169,6 +187,9 @@
// New dir
checkContent("jboss.system:service=HDAddDirTestThreadPool", "AddDirFarmThreadPool", 0);
+ // New zip
+ checkWebContent("/hd-add-zipped/index.html", HttpURLConnection.HTTP_OK, 0);
+
// Simple removal
checkContentRemoved("jboss.system:service=HDRemoveTestThreadPool", 0);
@@ -183,6 +204,9 @@
// Simple mod
checkContent("jboss.system:service=HDModifyTestThreadPool", "ModifiedFarmThreadPool", 0);
+
+ // Zipped mod
+ checkWebContent("/hd-mod-zipped/index.html", HttpURLConnection.HTTP_OK, 0);
}
/**
@@ -353,6 +377,48 @@
assertTrue(objectName + " -- node1 OK", node1OK);
}
+ private void checkWebContent(String relativePath, int expectedResponse, long timeout) throws Exception
+ {
+ boolean node0OK = false;
+ boolean node1OK = false;
+
+ String[] hosts = getHttpURLs();
+ GetMethod get0 = new GetMethod(hosts[0] + relativePath);
+ GetMethod get1 = new GetMethod(hosts[1] + relativePath);
+
+ long deadline = System.currentTimeMillis() + timeout;
+ do
+ {
+ if (!node0OK)
+ {
+ try
+ {
+ node0OK = (new HttpClient().executeMethod(get0) == expectedResponse);
+ }
+ catch (Exception ignored) {}
+ }
+ if (!node1OK)
+ {
+ try
+ {
+ node1OK = (new HttpClient().executeMethod(get1) == expectedResponse);
+ }
+ catch (Exception ignored) {}
+ }
+
+ if (node0OK && node1OK)
+ {
+ break;
+ }
+
+ Thread.sleep(200);
+ }
+ while (System.currentTimeMillis() < deadline);
+
+ assertTrue(hosts[0] + relativePath + " -- node0 OK", node0OK);
+ assertTrue(hosts[1] + relativePath + " -- node1 OK", node1OK);
+ }
+
/**
* Does some file copies into the dirs the test normally uses.
* Just a tool for debugging
Modified: branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterStartupTestCase.java
===================================================================
--- branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterStartupTestCase.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/profileservice/test/FarmedClusterStartupTestCase.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -70,11 +70,21 @@
assertEquals("Node1FarmThreadPool", adaptors[1].getAttribute(oname, "Name"));
}
+ /**
+ * Confirms an exploded war replicated from node0 to node1
+ *
+ * @throws Exception
+ */
public void testFarmAWar() throws Exception
{
checkAvailable("/farmA/index.html");
}
+ /**
+ * Confirms an exploded war replicated from node1 to node0
+ *
+ * @throws Exception
+ */
public void testFarmBWar() throws Exception
{
checkAvailable("/farmB/index.html");
@@ -96,8 +106,28 @@
GetMethod get = new GetMethod(getHttpURLs()[0] +index);
assertEquals("farmD is unavailable on node0", HttpURLConnection.HTTP_NOT_FOUND, client.executeMethod(get));
get = new GetMethod(getHttpURLs()[1] +index);
- assertEquals("farmD is unavailable on node0", HttpURLConnection.HTTP_NOT_FOUND, client.executeMethod(get));
+ assertEquals("farmD is unavailable on node1", HttpURLConnection.HTTP_NOT_FOUND, client.executeMethod(get));
}
+
+ /**
+ * Confirms a zipped war replicated from node0 to node1
+ *
+ * @throws Exception
+ */
+ public void testFarmEWar() throws Exception
+ {
+ checkAvailable("/farmE/index.html");
+ }
+
+ /**
+ * Confirms a zipped war replicated from node1 to node0
+ *
+ * @throws Exception
+ */
+ public void testFarmFWar() throws Exception
+ {
+ checkAvailable("/farmF/index.html");
+ }
private void checkAvailable(String url) throws Exception, IOException, HttpException
{
@@ -106,6 +136,6 @@
GetMethod get = new GetMethod(getHttpURLs()[0] +url);
assertEquals(url + " is available on node0", HttpURLConnection.HTTP_OK, client.executeMethod(get));
get = new GetMethod(getHttpURLs()[1] +url);
- assertEquals(url + " is available on node0", HttpURLConnection.HTTP_OK, client.executeMethod(get));
+ assertEquals(url + " is available on node1", HttpURLConnection.HTTP_OK, client.executeMethod(get));
}
}
Deleted: branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/EndpointAPIHttpServer.java
===================================================================
--- branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/EndpointAPIHttpServer.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/EndpointAPIHttpServer.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -1,242 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.webservices.integration.endpoint;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.ws.Endpoint;
-
-import org.jboss.classloading.spi.dependency.ClassLoading;
-import org.jboss.classloading.spi.dependency.Module;
-import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.client.spi.DeploymentFactory;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.attachments.MutableAttachments;
-import org.jboss.deployers.structure.spi.ClassLoaderFactory;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.metadata.web.jboss.JBossServletsMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
-import org.jboss.webservices.integration.util.WebMetaDataHelper;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.AbstractExtensible;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-import org.jboss.wsf.spi.http.HttpContext;
-import org.jboss.wsf.spi.http.HttpContextFactory;
-import org.jboss.wsf.spi.http.HttpServer;
-
-/**
- * JAXWS HTTP server implementation that nestles inside JBoss AS.
- * This implementation simply delegates deployment of dynamically created
- * JBoss web deployment to JBoss main deployer.
- *
- * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
- * @author <a href="mailto:tdiesler at redhat.com">Thomas Diesler</a>
- */
-public final class EndpointAPIHttpServer extends AbstractExtensible implements HttpServer
-{
-
- /** JBoss deployment factory. */
- private final DeploymentFactory factory = new DeploymentFactory();
- /** JBoss Main deployer. */
- private final DeployerClient mainDeployer;
- /** JBossWS SPI provider. */
- private final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- /** Registered deployments. */
- private final Map<String, Deployment> deployments = new HashMap<String, Deployment>();
-
- /**
- * Constructor - invoked by MC.
- *
- * @param mainDeployer JBoss main deployer
- */
- public EndpointAPIHttpServer(final DeployerClient mainDeployer)
- {
- super();
- this.mainDeployer = mainDeployer;
- }
-
- /**
- * Creates an requested HTTP context.
- *
- * @param contextRoot context root name
- * @return context instance
- */
- public synchronized HttpContext createContext(final String contextRoot)
- {
- return this.spiProvider.getSPI(HttpContextFactory.class).newHttpContext(this, contextRoot);
- }
-
- /**
- * Publishes a JAXWS endpoint to the JBoss server.
- *
- * @param context web context
- * @param endpoint to publish
- */
- public synchronized void publish(final HttpContext context, final Endpoint endpoint)
- {
- final String contextRoot = context.getContextRoot();
- if (this.deployments.keySet().contains(contextRoot))
- {
- throw new WSFDeploymentException("Context root '" + contextRoot + "' already exists");
- }
-
- final Class<?> endpointClass = this.getEndpointClass(endpoint);
- final ClassLoader endpointClassLoader = endpointClass.getClassLoader();
- final Deployment deployment = this.createSimpleDeployment("http://jaxws-endpoint-api" + contextRoot);
- final MutableAttachments mutableAttachments = (MutableAttachments) deployment.getPredeterminedManagedObjects();
- final JBossWebMetaData jbossWebMD = this.newJBossWebMetaData(contextRoot, endpointClass);
-
- mutableAttachments.addAttachment("org.jboss.web.explicitDocBase", "/", String.class);
- mutableAttachments.addAttachment(JBossWebMetaData.class, jbossWebMD);
- mutableAttachments.addAttachment(ClassLoaderFactory.class, new ContextClassLoaderFactory(endpointClassLoader));
- mutableAttachments.addAttachment(Module.class, ClassLoading.getModuleForClassLoader(endpointClassLoader));
-
- try
- {
- this.mainDeployer.deploy(deployment);
- this.deployments.put(contextRoot, deployment);
- }
- catch (DeploymentException de)
- {
- WSFDeploymentException.rethrow(de);
- }
- }
-
- /**
- * Destroys dynamically published JAXWS endpoint on the JBoss server.
- *
- * @param context to be destroyed
- * @param endpoint to be unpublished
- */
- public synchronized void destroy(final HttpContext context, final Endpoint endpoint)
- {
- try
- {
- final String contextRoot = context.getContextRoot();
- final Deployment deployment = this.deployments.remove(contextRoot);
- if (deployment != null)
- {
- this.mainDeployer.undeploy(deployment);
- }
- }
- catch (Exception ex)
- {
- WSFDeploymentException.rethrow(ex);
- }
- }
-
- /**
- * Returns implementor class associated with endpoint.
- *
- * @param endpoint to get implementor class from
- * @return implementor class
- */
- private Class<?> getEndpointClass(final Endpoint endpoint)
- {
- final Object implementor = endpoint.getImplementor();
- return implementor instanceof Class<?> ? (Class<?>) implementor : implementor.getClass();
- }
-
- /**
- * Creates new JBoss web meta data.
- *
- * @param contextRoot context root
- * @param endpointClass endpoint class
- * @return new JBoss web meta data
- */
- private JBossWebMetaData newJBossWebMetaData(final String contextRoot, final Class<?> endpointClass)
- {
- final JBossWebMetaData jbossWebMD = new JBossWebMetaData();
- final JBossServletsMetaData servletsMD = WebMetaDataHelper.getServlets(jbossWebMD);
- final List<ServletMappingMetaData> servletMappingMD = WebMetaDataHelper.getServletMappings(jbossWebMD);
- final String servletName = "jaxws-dynamic-endpoint";
-
- WebMetaDataHelper.newServlet(servletName, endpointClass.getName(), servletsMD);
- WebMetaDataHelper.newServletMapping(servletName, WebMetaDataHelper.getUrlPatterns("/*"), servletMappingMD);
- jbossWebMD.setContextRoot(contextRoot);
-
- return jbossWebMD;
- }
-
- /**
- * Creates simple web deployment using deployers client api.
- *
- * @param name deployment name
- * @return new deployment
- */
- private Deployment createSimpleDeployment(final String name)
- {
- final Deployment unit = new AbstractDeployment(name);
- this.factory.addContext(unit, "");
-
- return unit;
- }
-
- /**
- * @see org.jboss.deployers.structure.spi.ClassLoaderFactory
- */
- private static class ContextClassLoaderFactory implements ClassLoaderFactory
- {
- /** Delegee. */
- private ClassLoader classLoader;
-
- /**
- * Constructor.
- *
- * @param classLoader class loader
- */
- public ContextClassLoaderFactory(final ClassLoader classLoader)
- {
- this.classLoader = classLoader;
- }
-
- /**
- * @see org.jboss.deployers.structure.spi.ClassLoaderFactory#createClassLoader(DeploymentUnit)
- *
- * @param unit deployment unit
- * @return class loader
- * @throws Exception never thrown in our case
- */
- public ClassLoader createClassLoader(final DeploymentUnit unit) throws Exception
- {
- return this.classLoader;
- }
-
- /**
- * @see org.jboss.deployers.structure.spi.ClassLoaderFactory#removeClassLoader(DeploymentUnit)
- *
- * @param unit deployment unit
- * @throws Exception never thrown in our case
- */
- public void removeClassLoader(final DeploymentUnit unit) throws Exception
- {
- this.classLoader = null;
- }
- }
-
-}
Deleted: branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/HttpServerFactoryImpl.java
===================================================================
--- branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/HttpServerFactoryImpl.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/webservices/src/main/java/org/jboss/webservices/integration/endpoint/HttpServerFactoryImpl.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.webservices.integration.endpoint;
-
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.http.HttpServer;
-import org.jboss.wsf.spi.http.HttpServerFactory;
-import org.jboss.wsf.spi.ioc.IoCContainerProxy;
-import org.jboss.wsf.spi.ioc.IoCContainerProxyFactory;
-
-/**
- * Lookups http server inside MC container.
- *
- * @author <a href="mailto:tdiesler at redhat.com">Thomas Diesler</a>
- * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
- */
-public final class HttpServerFactoryImpl extends HttpServerFactory
-{
-
- /** The default bean name. */
- private static final String BEAN_NAME = "WSHTTPServer";
-
- /**
- * Constructor.
- */
- public HttpServerFactoryImpl()
- {
- super();
- }
-
- /**
- * Returns http server registered in MC kernel.
- *
- * @return http server
- */
- @Override
- public HttpServer getHttpServer()
- {
- final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- final IoCContainerProxyFactory iocContainerFactory = spiProvider.getSPI(IoCContainerProxyFactory.class);
- final IoCContainerProxy iocContainer = iocContainerFactory.getContainer();
-
- return iocContainer.getBean(HttpServerFactoryImpl.BEAN_NAME, HttpServer.class);
- }
-
-}
Modified: branches/infinispan-int/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
===================================================================
--- branches/infinispan-int/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-08-18 17:56:09 UTC (rev 107674)
@@ -16,15 +16,6 @@
</constructor>
</bean>
- <!-- Endpoint API http server -->
- <bean name="WSHTTPServer" class="org.jboss.webservices.integration.endpoint.EndpointAPIHttpServer">
- <constructor>
- <parameter>
- <inject bean="MainDeployer"/>
- </parameter>
- </constructor>
- </bean>
-
<!-- An abstraction of server configuration aspects. -->
<bean name="WSServerConfig" class="org.jboss.webservices.integration.config.ServerConfigImpl">
<property name="mbeanServer"><inject bean="WSMBeanServerLocator" property="mbeanServer"/></property>
Deleted: branches/infinispan-int/webservices/src/resources/jbossws-jboss.jar/META-INF/services/org.jboss.wsf.spi.http.HttpServerFactory
===================================================================
--- branches/infinispan-int/webservices/src/resources/jbossws-jboss.jar/META-INF/services/org.jboss.wsf.spi.http.HttpServerFactory 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/webservices/src/resources/jbossws-jboss.jar/META-INF/services/org.jboss.wsf.spi.http.HttpServerFactory 2010-08-18 17:56:09 UTC (rev 107674)
@@ -1 +0,0 @@
-org.jboss.webservices.integration.endpoint.HttpServerFactoryImpl
\ No newline at end of file
Modified: branches/infinispan-int/weld-int/deployer/pom.xml
===================================================================
--- branches/infinispan-int/weld-int/deployer/pom.xml 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/pom.xml 2010-08-18 17:56:09 UTC (rev 107674)
@@ -14,6 +14,13 @@
<build>
<plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>false</skipTests>
+ </configuration>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
Modified: branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
===================================================================
--- branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -24,7 +24,10 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Map;
+import java.util.WeakHashMap;
+import org.jboss.weld.bootstrap.api.ServiceRegistry;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.ejb.spi.EjbDescriptor;
@@ -47,7 +50,23 @@
*/
class Archive
{
-
+ // keep a map of Archive instances
+ private static final Map<ClassLoader, Archive> instances = new WeakHashMap<ClassLoader, Archive>();
+
+ /**
+ * Returns the Archive instance corresponding to {@code classLoader}.
+ *
+ * @param classLoader key to search for the Archive
+ * @return the Archive that corresponds to {@code classLoader}
+ */
+ public static Archive getInstance(ClassLoader classLoader)
+ {
+ synchronized(instances)
+ {
+ return instances.get(classLoader);
+ }
+ }
+
// the classes contained in this archive
private final Collection<Class<?>> classes;
@@ -86,6 +105,11 @@
this.classpath = archiveInfo.getClasspath();
this.classpath.addArchive(this);
this.ejbs = ejbs;
+ // update instances map
+ synchronized (instances)
+ {
+ instances.put(this.classLoader, this);
+ }
}
/**
@@ -199,11 +223,11 @@
* @return the BeanDeploymentArchive representing this archive. If this bda has not
* been created, it is created and returned
*/
- public BeanDeploymentArchive createBeanDeploymentArchive()
+ public BeanDeploymentArchive createBeanDeploymentArchive(ServiceRegistry services)
{
if (bda == null)
{
- bda = new BeanDeploymentArchiveImpl(classLoader.toString(), this);
+ bda = new BeanDeploymentArchiveImpl(classLoader.toString(), services, this);
for (ArchiveLifecycleListener listener: lifecycleListeners)
{
// notifies the listener that this archive became visible as a BDA
@@ -245,6 +269,10 @@
{
listener.archiveDestroyed(this);
}
+ synchronized(instances)
+ {
+ instances.remove(this.classLoader);
+ }
}
public String toString()
Modified: branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java
===================================================================
--- branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -52,11 +52,11 @@
* @param id the identifier name of this BeanDeploymentArchive
* @param archive the archive that this BeanDeploymentArchive represents
*/
- public BeanDeploymentArchiveImpl(String id, Archive archive)
+ public BeanDeploymentArchiveImpl(String id, ServiceRegistry services, Archive archive)
{
this.id = id;
+ this.services = services;
this.archive = archive;
- this.services = new SimpleServiceRegistry();
}
public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()
Modified: branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java
===================================================================
--- branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -23,9 +23,11 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashSet;
+import java.util.HashMap;
import java.util.Iterator;
+import java.util.Map;
+import org.jboss.weld.bootstrap.api.Service;
import org.jboss.weld.bootstrap.api.ServiceRegistry;
import org.jboss.weld.bootstrap.api.helpers.SimpleServiceRegistry;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
@@ -40,6 +42,9 @@
*/
public class DeploymentImpl implements Deployment
{
+ // FIXME bootstrapServices: workaround to keep track of the services needed for new BDAs
+ private Map<Class<? extends Service>, Service> bootstrapServices = new HashMap<Class<? extends Service>, Service>();
+
// the name of this deployment
private String name;
@@ -48,10 +53,12 @@
// the services provided by this deployment
private final ServiceRegistry services;
-
+ private final ServiceRegistry bdaServices;
// a collection of all archives that have been loaded by this DeploymentImpl, i.e.
// created for the purpose of serving loadBeanDeploymentArchive
private Collection<Archive> loadedArchives;
+
+ private Collection<EjbDescriptor<?>> ejbs;
/**
* Constructor.
@@ -65,16 +72,18 @@
{
this.name = name;
this.archives = new ArchiveCollection();
+ this.services = new SimpleServiceRegistry();
+ this.bdaServices = new SimpleServiceRegistry();
+ this.ejbs = ejbs;
for (ArchiveInfo archiveInfo: archiveInfos)
{
Archive archive = ArchiveFactory.createArchive(archiveInfo, ejbs);
archives.add(archive);
if (archive.hasXml())
{
- archive.createBeanDeploymentArchive();
+ archive.createBeanDeploymentArchive(bdaServices);
}
}
- this.services = new SimpleServiceRegistry();
}
public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()
@@ -89,39 +98,71 @@
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
{
- // collection to mark the archives we have already searched
- Collection<Archive> searchedArchives = new HashSet<Archive>();
- // collection to mark the classpaths we have already searched
- Collection<Classpath> searchedClasspaths = new HashSet<Classpath>();
- // TODO -- why the search? beanClass' ClassLoader should be mapped to Archive?
- // need to throw an IllegalArgumentException if the Archive is not reachable from
- // the archives contained in the archives of this deployment
- Archive archive = findArchive(beanClass, archives, searchedArchives, searchedClasspaths);
+ ClassLoader beanClassLoader = SecurityActions.getClassLoader(beanClass);
+ Archive archive = Archive.getInstance(beanClassLoader);
if (archive == null)
{
- boolean reachable = false;
- for (Archive searchedArchive: searchedArchives)
+ synchronized(beanClassLoader)
{
- if (searchedArchive.isClassVisible(beanClass))
+ archive = Archive.getInstance(beanClassLoader);
+ if (archive == null)
{
- reachable = true;
- break;
+ ArchiveInfo archiveInfo = new ArchiveInfo(beanClassLoader);
+ archive = ArchiveFactory.createArchive(archiveInfo, ejbs);
+ if (loadedArchives == null)
+ {
+ loadedArchives = new ArrayList<Archive>();
+ }
+ loadedArchives.add(archive);
}
}
- if (!reachable)
- throw new IllegalArgumentException("Bean class " + beanClass + " is not reachable from deployment " + this);
- ArchiveInfo archiveInfo = new ArchiveInfo(SecurityActions.getClassLoader(beanClass));
- archive = ArchiveFactory.createArchive(archiveInfo, new ArrayList<EjbDescriptor<?>>());
- if (loadedArchives == null)
+
+ }
+ archive.addClass(beanClass);
+ ServiceRegistry serviceRegistry = new SimpleServiceRegistry();
+
+ // TODO this was a temporary test to try to make right the ejb service part
+ // however, it didn't work as explained in the forum
+ /*Map<Class<? extends Service>, Service> temp = new HashMap<Class<? extends Service>, Service>();
+ for(Entry<Class<? extends Service>, Service> entry: bootstrapServices.entrySet())
+ {
+ if (entry.getKey() != EjbServices.class && entry.getKey() != EjbInjectionServices.class
+ && !entry.getKey().toString().contains("EjbDescriptors"))
{
- loadedArchives = new ArrayList<Archive>();
+ temp.put(entry.getKey(), entry.getValue());
}
- loadedArchives.add(archive);
}
- archive.addClass(beanClass);
- return archive.createBeanDeploymentArchive();
+ serviceRegistry.addAll(temp.entrySet());
+ JBossEjbServices ejbServices = null;
+ try
+ {
+ ejbServices = new JBossEjbServices();
+ } catch (NamingException e)
+ {
+ e.printStackTrace();
+ }
+ serviceRegistry.add(EjbInjectionServices.class, ejbServices);
+ serviceRegistry.add(EjbServices.class, ejbServices);*/
+ serviceRegistry.addAll(bdaServices.entrySet());
+ return archive.createBeanDeploymentArchive(serviceRegistry);//bdaServices);
}
+ /**
+ * Add bootstrap service to all BDAs in this deployment.
+ *
+ * @param <S> the service type to add
+ * @param type the service type to add
+ * @param service the service implementation
+ */
+ public <S extends Service> void addBootstrapService(Class<S> type, S service)
+ {
+ for(BeanDeploymentArchive beanDeploymentArchive: getBeanDeploymentArchives())
+ {
+ beanDeploymentArchive.getServices().add(type, service);
+ }
+ bootstrapServices.put(type, service);
+ }
+
public void undeploy()
{
for(Iterator<Archive> iterator = archives.iterator(); iterator.hasNext(); )
@@ -134,7 +175,8 @@
{
for (Archive archive: loadedArchives)
{
- // FIXME this does not work ok
+ // FIXME this does not work ok... what if the loaded Archive is being
+ // used by some other dpeloyment???
archive.undeploy();
}
}
@@ -144,50 +186,4 @@
{
return "Deployment[" + name + "]";
}
-
- private Archive findArchive(Class<?> beanClass, Iterable<Archive> archives, Collection<Archive> searchedArchives, Collection<Classpath> searchedClasspaths)
- {
- synchronized(archives) // TODO potential for a deadlock?
- {
- for (Archive archive: archives)
- {
- if (!searchedArchives.contains(archive))
- {
- if (archive.containsClass(beanClass))
- {
- return archive;
- }
- else
- {
- searchedArchives.add(archive);
- Archive found = searchThroughClasspath(archive.getClasspath(), beanClass, searchedArchives, searchedClasspaths);
- if (found != null)
- {
- return found;
- }
- }
- }
- }
- }
- return null;
- }
-
- private Archive searchThroughClasspath(Classpath classpath, Class<?> beanClass, Collection<Archive> searchedArchives, Collection<Classpath> searchedClasspaths)
- {
- if (!searchedClasspaths.contains(classpath))
- {
- searchedClasspaths.add(classpath);
- Archive found = findArchive(beanClass, classpath, searchedArchives, searchedClasspaths);
- if (found != null)
- {
- return found;
- }
- Classpath parentClasspath = classpath.getClasspath();
- if (parentClasspath != null)
- {
- return searchThroughClasspath(classpath.getClasspath(), beanClass, searchedArchives, searchedClasspaths);
- }
- }
- return null;
- }
}
Modified: branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java
===================================================================
--- branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -42,8 +42,8 @@
public MockWeldBootstrap()
{
- System.out.println(">>>>>>>>>>>>>>>>>> " + getClass());
- System.out.println(">>>>>>>>>>>>>>>>>> " + getClass().getClassLoader());
+ //System.out.println(">>>>>>>>>>>>>>>>>> " + getClass());
+ //System.out.println(">>>>>>>>>>>>>>>>>> " + getClass().getClassLoader());
}
public void initialize()
Modified: branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java
===================================================================
--- branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java 2010-08-18 17:00:03 UTC (rev 107673)
+++ branches/infinispan-int/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java 2010-08-18 17:56:09 UTC (rev 107674)
@@ -304,8 +304,9 @@
Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
- assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
- assertCannotLoadBDA(deployment2, servletWebBeanClass);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ //assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+ //assertCannotLoadBDA(deployment2, servletWebBeanClass);
BeanDeploymentArchive bda1 = deployment1.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda1, "simple1.war");
@@ -327,14 +328,15 @@
public void testMixedWars() throws Exception
{
WebArchive war1 = createWar("simple1.war", true, ServletWebBean.class);
- DeploymentUnit unit = assertDeploy(war1);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ /*DeploymentUnit unit = */assertDeploy(war1);
+ //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
WebArchive war2 = createWar("simple2.war", false, NotWBJsfBean.class);
- unit = assertDeploy(war2);
- Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
-
- assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+ /*unit = */assertDeploy(war2);
+
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ // Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
+ // assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
}
public void testWarWithLib() throws Exception
@@ -435,20 +437,21 @@
WebArchive war1 = createWar(true);
ear1.addModule(war1);
MockArchiveManifest.addManifest(ear1);
- DeploymentUnit unit = assertDeploy(ear1);
- Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit.getChildren().iterator().next());
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ /*DeploymentUnit unit = */assertDeploy(ear1);
+ //Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit.getChildren().iterator().next());
+ //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
EnterpriseArchive ear2 = ShrinkWrap.create(EnterpriseArchive.class, "warinear2.ear");
WebArchive war2 = createWar(WAR_NAME, true, NotWBJsfBean.class);
ear2.addModule(war2);
MockArchiveManifest.addManifest(ear2);
- unit = assertDeploy(ear2);
- Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit.getChildren().iterator().next());
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ /*unit = */assertDeploy(ear2);
- assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
- assertCannotLoadBDA(deployment2, servletWebBeanClass);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ // Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit.getChildren().iterator().next());
+ // Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ //assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+ //assertCannotLoadBDA(deployment2, servletWebBeanClass);
}
public void testWarsInEar() throws Exception
@@ -492,10 +495,12 @@
// simple.war
WebArchive war = createWar(true);
unit = assertDeploy(war);
- Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+
Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
- assertCannotLoadBDA(deployment1, servletWebBeanClass);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ //Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+ //assertCannotLoadBDA(deployment1, servletWebBeanClass);
BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, EJB_JAR_NAME);
@@ -551,10 +556,12 @@
// simple.war
WebArchive war = createWar(true);
unit = assertDeploy(war);
- Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+
Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
- assertCannotLoadBDA(deployment1, servletWebBeanClass);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ // Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+ //assertCannotLoadBDA(deployment1, servletWebBeanClass);
BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, EAR_NAME);
@@ -587,7 +594,8 @@
Class<?> uiWebBeanClass = getClass(UIWebBean.class, warUnit);
Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
- assertCannotLoadBDA(deployment1, servletWebBeanClass);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ //assertCannotLoadBDA(deployment1, servletWebBeanClass);
BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, "ejb.ear");
@@ -708,32 +716,35 @@
// Assert on web classes
- assertCannotLoadBDA(war1Deployment, servletWebBeanEar1Class);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ /*assertCannotLoadBDA(war1Deployment, servletWebBeanEar1Class);
assertCannotLoadBDA(war1Deployment, notWBJsfBeanWar2Class);
assertCannotLoadBDA(war1Deployment, notWBJsfBeanEar1Class);
assertCannotLoadBDA(war1Deployment, crmWebBeanWar2Class);
assertCannotLoadBDA(war1Deployment, crmWebBeanEar1War1Class);
assertCannotLoadBDA(war1Deployment, crmWebBeanEar1War2Class);
- assertCannotLoadBDA(war1Deployment, uiWebBeanEar1Class);
+ assertCannotLoadBDA(war1Deployment, uiWebBeanEar1Class);*/
BeanDeploymentArchive bda = war1Deployment.loadBeanDeploymentArchive(servletWebBeanWar1Class);
assertSame(war1BDA, bda);
// verify the absence of collateral effects on the BDA
assertBDAId(war1BDA, "web1.war");
assertExpectedClasses(war1BDA, ServletWebBean.class);
- assertCannotLoadBDA(war2Deployment, servletWebBeanWar1Class);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ /*assertCannotLoadBDA(war2Deployment, servletWebBeanWar1Class);
assertCannotLoadBDA(war2Deployment, servletWebBeanEar1Class);
assertCannotLoadBDA(war2Deployment, notWBJsfBeanEar1Class);
assertCannotLoadBDA(war2Deployment, crmWebBeanEar1War1Class);
assertCannotLoadBDA(war2Deployment, crmWebBeanEar1War2Class);
- assertCannotLoadBDA(war2Deployment, uiWebBeanEar1Class);
+ assertCannotLoadBDA(war2Deployment, uiWebBeanEar1Class);*/
bda = war2Deployment.loadBeanDeploymentArchive(notWBJsfBeanWar2Class);
bda = war2Deployment.loadBeanDeploymentArchive(crmWebBeanWar2Class);
assertSame(war2BDA, bda);
assertBDAId(war2BDA, "web2.war");
assertExpectedClasses(war2BDA, NotWBJsfBean.class, CrmWebBean.class);
- assertCannotLoadBDA(ejbJarDeployment, servletWebBeanWar1Class);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ /*assertCannotLoadBDA(ejbJarDeployment, servletWebBeanWar1Class);
assertCannotLoadBDA(ejbJarDeployment, servletWebBeanEar1Class);
assertCannotLoadBDA(ejbJarDeployment, notWBJsfBeanWar2Class);
assertCannotLoadBDA(ejbJarDeployment, notWBJsfBeanEar1Class);
@@ -744,7 +755,7 @@
assertCannotLoadBDA(ear1Deployment, servletWebBeanWar1Class);
assertCannotLoadBDA(ear1Deployment, notWBJsfBeanWar2Class);
- assertCannotLoadBDA(ear1Deployment, crmWebBeanWar2Class);
+ assertCannotLoadBDA(ear1Deployment, crmWebBeanWar2Class);*/
bda = ear1Deployment.loadBeanDeploymentArchive(servletWebBeanEar1Class);
assertSame(ear1War1BDA, bda);
bda = ear1Deployment.loadBeanDeploymentArchive(uiWebBeanEar1Class);
@@ -761,14 +772,15 @@
assertBDAId(ear1War2BDA, "full.ear/web2.war");
assertExpectedClasses(ear1War2BDA, NotWBJsfBean.class, CrmWebBean.class);
- assertCannotLoadBDA(ear2Deployment, servletWebBeanWar1Class);
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ /*assertCannotLoadBDA(ear2Deployment, servletWebBeanWar1Class);
assertCannotLoadBDA(ear2Deployment, servletWebBeanEar1Class);
assertCannotLoadBDA(ear2Deployment, notWBJsfBeanWar2Class);
assertCannotLoadBDA(ear2Deployment, notWBJsfBeanEar1Class);
assertCannotLoadBDA(ear2Deployment, crmWebBeanWar2Class);
assertCannotLoadBDA(ear2Deployment, crmWebBeanEar1War1Class);
assertCannotLoadBDA(ear2Deployment, crmWebBeanEar1War2Class);
- assertCannotLoadBDA(ear2Deployment, uiWebBeanEar1Class);
+ assertCannotLoadBDA(ear2Deployment, uiWebBeanEar1Class);*/
// Assert on business classes that are part of existing BDAs
bda = ejbJarDeployment.loadBeanDeploymentArchive(businessInterfaceClass);
@@ -891,7 +903,8 @@
return classLoader.loadClass(clazz.getName());
}
- private void assertCannotLoadBDA(Deployment deployment, Class<?> beanClass)
+ // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+ /*private void assertCannotLoadBDA(Deployment deployment, Class<?> beanClass)
{
boolean failed = false;
try
@@ -903,5 +916,5 @@
failed = true;
}
assertTrue(failed);
- }
+ }*/
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list