[jboss-cvs] JBossAS SVN: r109414 - in branches/JBoss-AS-6.0.x_ipv6: cluster/src/main/java/org/jboss/ha/framework/server/managed and 56 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 22 17:27:23 EST 2010
Author: smcgowan at redhat.com
Date: 2010-11-22 17:27:16 -0500 (Mon, 22 Nov 2010)
New Revision: 109414
Added:
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/deployment/Ejb2xComponentDeployer.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/refs/resources/hornetq-jms.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/META-INF/hornetq-jms.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/html/jbosstest/WEB-INF/jboss-service.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/jsfinjection/WEB-INF/jboss-service.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml
branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/WebServiceContextResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/BeanManagerResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299Injector.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299InjectorDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/util/JndiUtils.java
Removed:
branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolDataProtocolStackConfigurator.java
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/web/field/
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java
Modified:
branches/JBoss-AS-6.0.x_ipv6/build/build.xml
branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigMapper.java
branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigurationsMapper.java
branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/invocation/unified/interfaces/UnifiedInvokerHAProxy.java
branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/infinispan/infinispan-configs.xml
branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
branches/JBoss-AS-6.0.x_ipv6/component-matrix/pom.xml
branches/JBoss-AS-6.0.x_ipv6/depchain/pom.xml
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java
branches/JBoss-AS-6.0.x_ipv6/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java
branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java
branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/SecurityKeyManager.java
branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/ssl/JBossSSLConfiguration.java
branches/JBoss-AS-6.0.x_ipv6/server/pom.xml
branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/ejb-deployer-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/build.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/jsf.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/mdb.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/web.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/BuddyReplicationFailoverUnitTestCase.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/SessionCountUnitTestCase.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/JChannelFactoryOverrideUnitTestCase.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/web/test/SessionPassivationTestCase.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/ENCAnnotationsManagedBean.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/SimpleManagedBean.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/ENCTester.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/channelfactory/stacks.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/drm/drm-test-stacks.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml
branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/encbinding-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/injection/WebResourceHandler.java
branches/JBoss-AS-6.0.x_ipv6/webservices/pom.xml
branches/JBoss-AS-6.0.x_ipv6/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/pom.xml
branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/pom.xml
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WebContainterIntegrationDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JBossBeanManagerObjectFactory.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JndiBinder.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java
branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BootDeployerTestCase.java
Log:
Another merge with trunk -r109270
Modified: branches/JBoss-AS-6.0.x_ipv6/build/build.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/build/build.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/build/build.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -250,6 +250,11 @@
<copy tofile="${install.default}/deployers/clustering-deployer-jboss-beans.xml"
file="${project.root}/cluster/target/etc/clustering-deployer-jboss-beans-non-clustered.xml"/>
+ <!-- Use switchboard-clustered-jboss-beans.xml in all -->
+ <delete file="${install.all}/deployers/switchboard-jboss-beans.xml"/>
+ <!-- Use switchboard-jboss-beans.xml in default -->
+ <delete file="${install.default}/deployers/switchboard-clustered-jboss-beans.xml"/>
+
<!-- Build server/minimal manually -->
<mkdir dir="${install.minimal.deploy}"/>
<mkdir dir="${install.minimal.deployers}"/>
@@ -315,6 +320,7 @@
<include name="jbossweb.deployer/**"/>
<include name="metadata-deployer-jboss-beans.xml"/>
<include name="security-deployer-jboss-beans.xml"/>
+ <include name="switchboard-jboss-beans.xml"/>
<include name="jboss-threads.deployer/**"/>
<include name="jboss-logging.deployer/**"/>
<exclude name="jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml"/>
@@ -933,7 +939,6 @@
</fileset>
</copy>
-
<!-- Copy the "all" configuration files -->
<mkdir dir="${install.server}/all/conf"/>
<copy todir="${install.server}/all/conf" filtering="no">
@@ -952,7 +957,8 @@
</fileset>
</copy>
</target>
-
+
+
<!-- ========= -->
<!-- Connector -->
<!-- ========= -->
@@ -2118,6 +2124,15 @@
<fileset refid="org.jboss.shrinkwrap:shrinkwrap-impl-base:jar" />
<fileset refid="org.jboss.shrinkwrap:shrinkwrap-spi:jar" />
<fileset refid="org.jboss.shrinkwrap:shrinkwrap-extension-vfs3:jar" />
+
+ <!-- SwitchBoard -->
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-spi:jar"/>
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-impl:jar"/>
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-mc-spi:jar"/>
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-mc-impl:jar"/>
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-javaee:jar"/>
+ <fileset refid="org.jboss.switchboard:jboss-switchboard-jbmeta-javaee:jar"/>
+
<fileset refid="org.hibernate:hibernate-core:jar"/>
<fileset refid="org.hibernate:hibernate-commons-annotations:jar"/>
<fileset refid="org.hibernate:hibernate-entitymanager:jar"/>
@@ -2130,7 +2145,10 @@
<fileset refid="org.jboss.injection:jboss-resolver-impl:jar"/>
<fileset refid="org.jboss.injection:jboss-switchboard-metadata:jar"/>
<fileset refid="org.jboss.injection:jboss-injection-switchboard-deployer:jar"/>
-
+ <fileset refid="org.jboss.injection:jboss-injection-injector:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-mc-impl:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-manager:jar"/>
+
<fileset refid="org.jboss.jpa:jboss-jpa-deployers:jar"/>
<fileset refid="org.jboss.jpa:jboss-jpa-vfs3:jar"/>
<fileset refid="org.jboss.jpa:jboss-jpa-impl:jar"/>
@@ -2593,6 +2611,15 @@
<fileset refid="org.jboss.jpa:jboss-jpa-mcint:jar"/>
<mapper refid="remove-versions"/>
</copy>
+
+ <!-- Copy jboss-injection jboss-beans.xml to deployers folder -->
+ <unjar src="${org.jboss.injection:jboss-injection-mc-impl:jar}" dest="${install.all.deployers}">
+ <patternset>
+ <include name="META-INF/jboss-injection-jboss-beans.xml"/>
+ </patternset>
+ <mapper type="flatten"/>
+ </unjar>
+
<!-- End varia stuff -->
</target>
Deleted: branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolDataProtocolStackConfigurator.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolDataProtocolStackConfigurator.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolDataProtocolStackConfigurator.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,71 +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.ha.framework.server.managed;
-
-import org.jgroups.conf.ProtocolData;
-import org.jgroups.conf.ProtocolStackConfigurator;
-
-/**
- *
- *
- * @author Brian Stansberry
- *
- * @version $Revision: $
- */
-public class ProtocolDataProtocolStackConfigurator implements ProtocolStackConfigurator
-{
- private final ProtocolData[] protocolData;
-
- /**
- * Create a new ProtocolDataProtocolStackConfigurator.
- *
- */
- public ProtocolDataProtocolStackConfigurator(ProtocolData[] protocolData)
- {
- if (protocolData == null)
- {
- throw new IllegalArgumentException("null protocolData");
- }
- this.protocolData = protocolData;
- }
-
- public ProtocolData[] getProtocolStack()
- {
- return this.protocolData;
- }
-
- public String getProtocolStackString()
- {
- StringBuilder buf=new StringBuilder();
- for (int i = 0; i < protocolData.length; i++)
- {
- buf.append(protocolData[i].getProtocolString(false));
- if(i < protocolData.length - 1)
- {
- buf.append(':');
- }
- }
- return buf.toString();
- }
-
-}
Modified: branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigMapper.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigMapper.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigMapper.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -23,11 +23,14 @@
package org.jboss.ha.framework.server.managed;
import java.lang.reflect.Type;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.jboss.ha.core.channelfactory.ProtocolData;
+import org.jboss.ha.core.channelfactory.ProtocolParameter;
import org.jboss.metatype.api.types.CollectionMetaType;
import org.jboss.metatype.api.types.CompositeMetaType;
import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
@@ -43,8 +46,6 @@
import org.jboss.metatype.api.values.SimpleValue;
import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.metatype.spi.values.MetaMapper;
-import org.jgroups.conf.ProtocolData;
-import org.jgroups.conf.ProtocolParameter;
/**
* MetaMapper for the ProtocolData[] description of a JGroups protocol stack
@@ -175,20 +176,18 @@
{
CompositeValue protocolValue = (CompositeValue) elements[i];
String protName = (String) ((SimpleValue) protocolValue.get("name")).getValue();
- String protDesc = (String) ((SimpleValue) protocolValue.get("description")).getValue();
+ // String protDesc = (String) ((SimpleValue) protocolValue.get("description")).getValue();
String protClass = (String) ((SimpleValue) protocolValue.get("className")).getValue();
CompositeValue paramsValue = (CompositeValue) protocolValue.get("protocolParameters");
Set<String> paramNames = paramsValue.getMetaType().keySet();
- ProtocolParameter[] protParams = new ProtocolParameter[paramNames.size()];
- int j = 0;
+ List<ProtocolParameter> protParams = new ArrayList<ProtocolParameter>(paramNames.size());
for (String paramName : paramNames)
{
CompositeValue paramValue = (CompositeValue) paramsValue.get(paramName);
String paramVal = (String) ((SimpleValue) paramValue.get("value")).getValue();
- protParams[j] = new ProtocolParameter(paramName, paramVal);
- j++;
+ protParams.add(new ProtocolParameter(paramName, paramVal));
}
- protocolData[i] = new ProtocolData(protName, protDesc, protClass, protParams);
+ protocolData[i] = new ProtocolData(protName, protClass, protParams);
}
return protocolData;
}
Modified: branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigurationsMapper.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigurationsMapper.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/ha/framework/server/managed/ProtocolStackConfigurationsMapper.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -26,7 +26,9 @@
import java.util.HashMap;
import java.util.Map;
+import org.jboss.ha.core.channelfactory.ProtocolData;
import org.jboss.ha.core.channelfactory.ProtocolStackConfigInfo;
+import org.jboss.ha.core.channelfactory.ProtocolStackUtil;
import org.jboss.metatype.api.types.CompositeMetaType;
import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
import org.jboss.metatype.api.types.MetaType;
@@ -39,9 +41,6 @@
import org.jboss.metatype.api.values.SimpleValue;
import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.metatype.spi.values.MetaMapper;
-import org.jgroups.conf.ConfiguratorFactory;
-import org.jgroups.conf.ProtocolData;
-import org.jgroups.conf.ProtocolStackConfigurator;
/**
* {@link MetaMapper} for a map of {@link ProtocolStackConfigInfo}s keyed by
@@ -141,12 +140,11 @@
String description = (String) ((SimpleValue) stackValue.get("description")).getValue();
CollectionValue protocolsValue = (CollectionValue) stackValue.get("configuration");
- ProtocolData[] protocolData = CONFIG_MAPPER.unwrapMetaValue(protocolsValue);
- ProtocolStackConfigurator configurator = new ProtocolDataProtocolStackConfigurator(protocolData);
+ ProtocolData[] protocolData = CONFIG_MAPPER.unwrapMetaValue(protocolsValue);
// fixes http://jira.jboss.com/jira/browse/JGRP-290
- ConfiguratorFactory.substituteVariables(configurator); // replace vars with system props
+ ProtocolStackUtil.substituteVariables(protocolData); // replace vars with system props
- result.put(stack, new ProtocolStackConfigInfo(name, description, configurator));
+ result.put(stack, new ProtocolStackConfigInfo(name, description, protocolData));
}
return result;
Modified: branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/invocation/unified/interfaces/UnifiedInvokerHAProxy.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/invocation/unified/interfaces/UnifiedInvokerHAProxy.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/main/java/org/jboss/invocation/unified/interfaces/UnifiedInvokerHAProxy.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -90,7 +90,7 @@
List<?> targets, LoadBalancePolicy policy,
String proxyFamilyName, long viewId)
{
- super(locator, isStrictRMIException);
+ super(); // JBAS-8636 avoid calling init() until we correctly set the subsystem
this.familyClusterInfo = ClusteringTargetsRepository.initTarget(proxyFamilyName, targets, viewId);
this.loadBalancePolicy = policy;
@@ -98,6 +98,8 @@
trace = log.isTraceEnabled();
setSubSystem("invokerha");
+ setStrictRMIException(isStrictRMIException);
+ init(locator);
}
public boolean txContextAllowsFailover(Invocation invocation)
Modified: branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/infinispan/infinispan-configs.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/infinispan/infinispan-configs.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/infinispan/infinispan-configs.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -73,7 +73,7 @@
<hash numOwners="2"/>
</clustering>
<loaders passivation="true">
- <loader class="org.infinispan.loaders.file.FileCacheStore" fetchPersistentState="false">
+ <loader class="org.infinispan.loaders.file.FileCacheStore" fetchPersistentState="false" purgeOnStartup="true">
<properties>
<property name="location" value="${jboss.server.data.dir}${/}web"/>
</properties>
@@ -141,7 +141,7 @@
<!-- Hibernate second-level cache -->
<infinispan-config name="hibernate" jndi-name="java:CacheManager/entity">
- <infinispan xmlns="urn:infinispan:config:4.2" xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd">
+ <infinispan xmlns="urn:infinispan:config:4.2">
<global>
<transport clusterName="${jboss.partition.name:DefaultPartition}-Hibernate" distributedSyncTimeout="17500">
<properties>
Modified: branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -72,8 +72,8 @@
view_bundling="true"
view_ack_collection_timeout="5000"
resume_task_timeout="7500"/>
- <FC max_credits="2000000" min_threshold="0.10"
- ignore_synchronous_response="true"/>
+ <UFC max_credits="2000000" ignore_synchronous_response="true"/>
+ <MFC max_credits="2000000" ignore_synchronous_response="true"/>
<FRAG2 frag_size="60000"/>
<pbcast.STREAMING_STATE_TRANSFER/>
<!--pbcast.STATE_TRANSFER/-->
@@ -142,8 +142,8 @@
view_bundling="true"
view_ack_collection_timeout="5000"
resume_task_timeout="7500"/>
- <FC max_credits="2000000" min_threshold="0.10"
- ignore_synchronous_response="true"/>
+ <UFC max_credits="2000000" ignore_synchronous_response="true"/>
+ <MFC max_credits="2000000" ignore_synchronous_response="true"/>
<FRAG2 frag_size="60000"/>
<pbcast.STREAMING_STATE_TRANSFER/>
<!--pbcast.STATE_TRANSFER/-->
@@ -286,8 +286,8 @@
view_bundling="true"
view_ack_collection_timeout="5000"
resume_task_timeout="7500"/>
- <FC max_credits="2000000" min_threshold="0.10"
- ignore_synchronous_response="true"/>
+ <UFC max_credits="2000000" ignore_synchronous_response="true"/>
+ <MFC max_credits="2000000" ignore_synchronous_response="true"/>
<FRAG2 frag_size="60000"/>
<pbcast.STREAMING_STATE_TRANSFER/>
<!--pbcast.STATE_TRANSFER/-->
Modified: branches/JBoss-AS-6.0.x_ipv6/component-matrix/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/component-matrix/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/component-matrix/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -46,18 +46,19 @@
<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>
- <version.javax.faces>2.0.2-FCS</version.javax.faces>
+ <version.javax.faces>2.0.3-b05</version.javax.faces>
<version.javax.validation>1.0.0.GA</version.javax.validation>
<version.jaxws-httpserver-httpspi>1.0.0.GA</version.jaxws-httpserver-httpspi>
+ <version.jboss.injection>1.0.0-alpha-3</version.jboss.injection>
<version.jboss.jaxr>2.0.1</version.jboss.jaxr>
<version.jboss.jbossts>4.13.1.Final</version.jboss.jbossts>
<version.jboss.jbossws-native>3.4.0.CR3</version.jboss.jbossws-native>
<version.jboss.jbossws-cxf>3.4.0.CR3</version.jboss.jbossws-cxf>
- <version.jboss.jbossws-common>1.4.0.CR3</version.jboss.jbossws-common>
- <version.jboss.jbossws-framework>3.4.0.CR3</version.jboss.jbossws-framework>
- <version.jboss.jbossws-spi>1.4.0.CR3</version.jboss.jbossws-spi>
+ <version.jboss.jbossws-common>1.4.1.CR1</version.jboss.jbossws-common>
+ <version.jboss.jbossws-framework>3.4.1.CR1</version.jboss.jbossws-framework>
+ <version.jboss.jbossws-spi>1.4.1.CR1</version.jboss.jbossws-spi>
<version.jboss.jms-integration-tests>1.0.1.GA</version.jboss.jms-integration-tests>
- <version.jboss.jsf-deployer>1.0.2</version.jboss.jsf-deployer>
+ <version.jboss.jsf-deployer>1.0.3</version.jboss.jsf-deployer>
<version.jboss.web>3.0.0-beta-7</version.jboss.web>
<version.jsr181.api>1.0-MR1</version.jsr181.api>
<version.junit>4.6</version.junit>
@@ -78,13 +79,13 @@
<version.org.jboss.classpool>1.0.0.Alpha6</version.org.jboss.classpool>
<version.org.jboss.cluster.client>1.1.2.Final</version.org.jboss.cluster.client>
<version.org.jboss.cluster.server.api>2.0.0.CR1</version.org.jboss.cluster.server.api>
- <version.org.jboss.cluster.server.core>1.0.0.CR1</version.org.jboss.cluster.server.core>
- <version.org.jboss.cluster.server.ispn>1.0.0.CR5</version.org.jboss.cluster.server.ispn>
+ <version.org.jboss.cluster.server.core>1.0.0.CR2</version.org.jboss.cluster.server.core>
+ <version.org.jboss.cluster.server.ispn>1.0.0.CR6</version.org.jboss.cluster.server.ispn>
<version.org.jboss.cluster.cache.spi>3.0.0.CR1</version.org.jboss.cluster.cache.spi>
- <version.org.jboss.cluster.cache.ispn>1.0.0.CR6</version.org.jboss.cluster.cache.ispn>
+ <version.org.jboss.cluster.cache.ispn>1.0.0.CR8</version.org.jboss.cluster.cache.ispn>
<version.org.jboss.common.core>2.2.17.GA</version.org.jboss.common.core>
<version.org.jboss.deployers>2.2.0.Alpha8</version.org.jboss.deployers>
- <version.org.jboss.ejb3.depchain>1.0.0-alpha-17</version.org.jboss.ejb3.depchain>
+ <version.org.jboss.ejb3.depchain>1.0.0-alpha-20</version.org.jboss.ejb3.depchain>
<!-- This to move into the EJB3 BOM -->
<version.org.jboss.ejb3.embedded>1.0.0-alpha-1</version.org.jboss.ejb3.embedded>
<version.org.jboss.ejb.api>1.0-alpha-1</version.org.jboss.ejb.api>
@@ -110,7 +111,7 @@
<version.org.jboss.mc-int>2.2.0.Alpha3</version.org.jboss.mc-int>
<version.org.jboss.mdr>2.2.0.Alpha3</version.org.jboss.mdr>
<version.org.jboss.metadata.client>2.0.0.Alpha2</version.org.jboss.metadata.client>
- <version.org.jboss.metadata.common>2.0.0.Alpha19</version.org.jboss.metadata.common>
+ <version.org.jboss.metadata.common>2.0.0.Alpha20</version.org.jboss.metadata.common>
<version.org.jboss.metadata.ear>2.0.0.Alpha4</version.org.jboss.metadata.ear>
<version.org.jboss.metadata.ejb>2.0.0-alpha-22</version.org.jboss.metadata.ejb>
<version.org.jboss.metadata.rar>2.0.0.Alpha</version.org.jboss.metadata.rar>
@@ -133,13 +134,14 @@
<version.org.jboss.shrinkwrap>1.0.0-alpha-11</version.org.jboss.shrinkwrap>
<version.org.jboss.slf4j>1.0.2.GA</version.org.jboss.slf4j>
<version.org.jboss.stdio>1.0.0.CR3</version.org.jboss.stdio>
+ <version.org.jboss.switchboard.depchain>1.0.0-alpha-9</version.org.jboss.switchboard.depchain>
<version.org.jboss.threads>2.0.0.CR7</version.org.jboss.threads>
<version.org.jboss.threads-metadata>2.0.0.CR4</version.org.jboss.threads-metadata>
<version.org.jboss.vfs>3.0.0.CR5</version.org.jboss.vfs>
<version.org.jboss.weld>1.1.0.Beta2</version.org.jboss.weld>
<version.org.jboss.xnio>2.1.0.CR2</version.org.jboss.xnio>
<version.org.jboss.xnio.metadata>2.1.0.CR5</version.org.jboss.xnio.metadata>
- <version.org.jgroups>2.10.1.GA</version.org.jgroups>
+ <version.org.jgroups>2.11.0.GA</version.org.jgroups>
<version.org.slf4j>1.5.6</version.org.slf4j>
<version.ch.qos.cal10n>0.7.2</version.ch.qos.cal10n>
<version.org.springframework>3.0.1.RELEASE</version.org.springframework>
@@ -1332,6 +1334,24 @@
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.jboss.switchboard.depchain</groupId>
+ <artifactId>jboss-switchboard-depchain-as6</artifactId>
+ <version>${version.org.jboss.switchboard.depchain}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
<dependency>
<groupId>org.jboss.jbossts</groupId>
<artifactId>jbossjts</artifactId>
@@ -2062,7 +2082,25 @@
<artifactId>jboss-switchboard-metadata</artifactId>
<version>${version.org.jboss.injection}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-manager</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-injector</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-mdr</artifactId>
Modified: branches/JBoss-AS-6.0.x_ipv6/depchain/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/depchain/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/depchain/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -853,6 +853,19 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-injector</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-manager</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.spec.javax.interceptor</groupId>
<artifactId>jboss-interceptors-api_1.1_spec</artifactId>
</dependency>
@@ -1035,6 +1048,23 @@
<artifactId>jboss-stdio</artifactId>
</dependency>
<dependency>
+ <groupId>org.jboss.switchboard.depchain</groupId>
+ <artifactId>jboss-switchboard-depchain-as6</artifactId>
+ <type>pom</type>
+ <version>${version.org.jboss.switchboard.depchain}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ </exclusion>
+ </exclusions>
+
+ </dependency>
+ <dependency>
<groupId>org.jboss.threads</groupId>
<artifactId>jboss-threads</artifactId>
</dependency>
Copied: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard (from rev 109413, trunk/ejb3/src/main/java/org/jboss/as/ejb3/switchboard)
Copied: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource (from rev 109413, trunk/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource)
Copied: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider (from rev 109413, trunk/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider)
Deleted: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java
===================================================================
--- trunk/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,111 +0,0 @@
-/**
- *
- */
-package org.jboss.as.ejb3.switchboard.resource.provider;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.resolvers.MessageDestinationReferenceResolver;
-import org.jboss.logging.Logger;
-import org.jboss.switchboard.impl.resource.LinkRefResource;
-import org.jboss.switchboard.javaee.jboss.environment.JBossMessageDestinationRefType;
-import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
-import org.jboss.switchboard.spi.Resource;
-
-/**
- * A {@link MCBasedResourceProvider} for processing message-destination-ref
- * references
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class MessageDestinationReferenceResourceProvider implements MCBasedResourceProvider<JBossMessageDestinationRefType>
-{
-
- /**
- * Logger
- */
- private static Logger logger = Logger.getLogger(MessageDestinationReferenceResourceProvider.class);
-
- /**
- * A {@link MessageDestinationReferenceResolver} will be used to resolve a jndi-name out of
- * the message-destination link, used in message-destination-ref
- */
- private MessageDestinationReferenceResolver messageDestinationResolver;
-
- /**
- * {@inheritDoc}
- */
- public Class<JBossMessageDestinationRefType> getEnvironmentEntryType()
- {
- return JBossMessageDestinationRefType.class;
- }
-
- /**
- * Processes a message-destination-ref and returns a {@link Resource} corresponding to that
- * reference.
- * If a {@link Resource} cannot be created out of the message-destination-ref, then this
- * method throws a {@link RuntimeException}
- */
- public Resource provide(DeploymentUnit unit, JBossMessageDestinationRefType messageDestRef)
- {
- // first check lookup name
- String lookupName = messageDestRef.getLookupName();
- if (lookupName != null && !lookupName.trim().isEmpty())
- {
- return new LinkRefResource(lookupName);
- }
-
- // now check mapped name
- String mappedName = messageDestRef.getMappedName();
- if (mappedName != null && !mappedName.trim().isEmpty())
- {
- return new LinkRefResource(mappedName);
- }
-
- // now check (JBoss specific) jndi name!
- String jndiName = messageDestRef.getJNDIName();
- if (jndiName != null && !jndiName.trim().isEmpty())
- {
- return new LinkRefResource(jndiName);
- }
-
- // Now check if a message-destination link is specified.
- // The "link" itself is a logical name to the destination, so we'll
- // use a resolver to resolve a jndi name out of it.
- // Note that a message-destination can *only* be specified in a ejb-jar deployment
- // (see Java EE6 spec, EE.5.9.2), so the message-destination link resolver
- // needs to be provided by some JBoss EJB3 container component
- String messageDestLink = messageDestRef.getMessageDestinationLink();
- if (messageDestLink != null && !messageDestLink.trim().isEmpty())
- {
- if (this.messageDestinationResolver == null)
- {
- logger.warn("Cannot resolve message-destination link: " + messageDestLink
- + " for message-destination-ref: " + messageDestRef.getName() + " due to absence of a "
- + MessageDestinationReferenceResolver.class.getName());
- }
- else
- {
- String resolvedJNDIName = this.messageDestinationResolver.resolveMessageDestinationJndiName(unit, messageDestLink);
- logger.debug("Resolved jndi-name: " + resolvedJNDIName + " for message-destination link: "
- + messageDestLink + " in message-destination-ref: " + messageDestRef.getName());
- if (resolvedJNDIName != null && !resolvedJNDIName.trim().isEmpty())
- {
- return new LinkRefResource(resolvedJNDIName);
- }
-
- }
- }
- throw new RuntimeException("Cannot provide a resource for message-destination-ref: " + messageDestRef.getName() + " in unit: " + unit);
- }
-
- /**
- * Sets the {@link MessageDestinationReferenceResolver}, which will be used to resolve the jndi-name
- * out of a message-destination link, used in the message-destination-ref
- * @param resolver
- */
- public void setMessageDestinationLinkResolver(MessageDestinationReferenceResolver resolver)
- {
- this.messageDestinationResolver = resolver;
- }
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java (from rev 109413, trunk/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/as/ejb3/switchboard/resource/provider/MessageDestinationReferenceResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,111 @@
+/**
+ *
+ */
+package org.jboss.as.ejb3.switchboard.resource.provider;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.resolvers.MessageDestinationReferenceResolver;
+import org.jboss.logging.Logger;
+import org.jboss.switchboard.impl.resource.LinkRefResource;
+import org.jboss.switchboard.javaee.jboss.environment.JBossMessageDestinationRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+
+/**
+ * A {@link MCBasedResourceProvider} for processing message-destination-ref
+ * references
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class MessageDestinationReferenceResourceProvider implements MCBasedResourceProvider<JBossMessageDestinationRefType>
+{
+
+ /**
+ * Logger
+ */
+ private static Logger logger = Logger.getLogger(MessageDestinationReferenceResourceProvider.class);
+
+ /**
+ * A {@link MessageDestinationReferenceResolver} will be used to resolve a jndi-name out of
+ * the message-destination link, used in message-destination-ref
+ */
+ private MessageDestinationReferenceResolver messageDestinationResolver;
+
+ /**
+ * {@inheritDoc}
+ */
+ public Class<JBossMessageDestinationRefType> getEnvironmentEntryType()
+ {
+ return JBossMessageDestinationRefType.class;
+ }
+
+ /**
+ * Processes a message-destination-ref and returns a {@link Resource} corresponding to that
+ * reference.
+ * If a {@link Resource} cannot be created out of the message-destination-ref, then this
+ * method throws a {@link RuntimeException}
+ */
+ public Resource provide(DeploymentUnit unit, JBossMessageDestinationRefType messageDestRef)
+ {
+ // first check lookup name
+ String lookupName = messageDestRef.getLookupName();
+ if (lookupName != null && !lookupName.trim().isEmpty())
+ {
+ return new LinkRefResource(lookupName);
+ }
+
+ // now check mapped name
+ String mappedName = messageDestRef.getMappedName();
+ if (mappedName != null && !mappedName.trim().isEmpty())
+ {
+ return new LinkRefResource(mappedName);
+ }
+
+ // now check (JBoss specific) jndi name!
+ String jndiName = messageDestRef.getJNDIName();
+ if (jndiName != null && !jndiName.trim().isEmpty())
+ {
+ return new LinkRefResource(jndiName);
+ }
+
+ // Now check if a message-destination link is specified.
+ // The "link" itself is a logical name to the destination, so we'll
+ // use a resolver to resolve a jndi name out of it.
+ // Note that a message-destination can *only* be specified in a ejb-jar deployment
+ // (see Java EE6 spec, EE.5.9.2), so the message-destination link resolver
+ // needs to be provided by some JBoss EJB3 container component
+ String messageDestLink = messageDestRef.getMessageDestinationLink();
+ if (messageDestLink != null && !messageDestLink.trim().isEmpty())
+ {
+ if (this.messageDestinationResolver == null)
+ {
+ logger.warn("Cannot resolve message-destination link: " + messageDestLink
+ + " for message-destination-ref: " + messageDestRef.getName() + " due to absence of a "
+ + MessageDestinationReferenceResolver.class.getName());
+ }
+ else
+ {
+ String resolvedJNDIName = this.messageDestinationResolver.resolveMessageDestinationJndiName(unit, messageDestLink);
+ logger.debug("Resolved jndi-name: " + resolvedJNDIName + " for message-destination link: "
+ + messageDestLink + " in message-destination-ref: " + messageDestRef.getName());
+ if (resolvedJNDIName != null && !resolvedJNDIName.trim().isEmpty())
+ {
+ return new LinkRefResource(resolvedJNDIName);
+ }
+
+ }
+ }
+ throw new RuntimeException("Cannot provide a resource for message-destination-ref: " + messageDestRef.getName() + " in unit: " + unit);
+ }
+
+ /**
+ * Sets the {@link MessageDestinationReferenceResolver}, which will be used to resolve the jndi-name
+ * out of a message-destination link, used in the message-destination-ref
+ * @param resolver
+ */
+ public void setMessageDestinationLinkResolver(MessageDestinationReferenceResolver resolver)
+ {
+ this.messageDestinationResolver = resolver;
+ }
+}
Modified: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -21,6 +21,17 @@
*/
package org.jboss.ejb3.deployers;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.MBeanInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
import org.jboss.as.ejb3.naming.NamingComponentEjbEncFactory;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
@@ -37,6 +48,7 @@
import org.jboss.ejb3.EJBContainer;
import org.jboss.ejb3.KernelAbstraction;
import org.jboss.ejb3.MCDependencyPolicy;
+import org.jboss.ejb3.instantiator.spi.BeanInstantiatorRegistration;
import org.jboss.ejb3.javaee.JavaEEApplication;
import org.jboss.ejb3.javaee.JavaEEModule;
import org.jboss.kernel.Kernel;
@@ -46,16 +58,6 @@
import org.jboss.logging.Logger;
import org.jboss.reloaded.naming.spi.JavaEEComponent;
-import javax.management.MBeanInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
/**
* The JBossAS implementation of the ejb3 KernelAbstraction integration api
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
@@ -156,11 +158,20 @@
deployment.getBeanFactories().add(builder.getBeanMetaDataFactory());
}
// modify the container bean meta data to inject the EjbEncFactory
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(bean);
+ //builder.addPropertyMetaData("namingComponent", new AbstractInjectionValueMetaData("java:comp"));
+ builder.addPropertyMetaData("ejbEncFactory", new AbstractInjectionValueMetaData(encFactoryBeanName));
+
+ // Add the BeanInstantiator injection into EJBContainer
+ // TODO: (Jaikiran) Terrible hack! Use JavaEEComponentInformer to get the app name.
+ // But for now, due to lack of time for 6.0.0.CR1 release, let's just use this hack
+ if (appName == null)
{
- BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(bean);
- //builder.addPropertyMetaData("namingComponent", new AbstractInjectionValueMetaData("java:comp"));
- builder.addPropertyMetaData("ejbEncFactory", new AbstractInjectionValueMetaData(encFactoryBeanName));
+ appName = moduleName;
}
+ String beanInstantiatorMcName = BeanInstantiatorRegistration.getInstantiatorRegistrationName(appName, moduleName, container.getEjbName());
+ builder.addPropertyMetaData("beanInstantiator", new AbstractInjectionValueMetaData(beanInstantiatorMcName));
+
}
if(unit != null)
Modified: branches/JBoss-AS-6.0.x_ipv6/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -311,11 +311,18 @@
<!-- Responsible for creating the piece used to create EJB3 Bean Instances -->
<bean name="org.jboss.ejb3.BeanInstantiator" class="org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator" />
- <bean name="org.jboss.ejb3.BeanInstantiatorDeployer" class="org.jboss.ejb3.instantiator.deployer.SingletonBeanInstantiatorDeployer">
- <constructor>
- <parameter class="org.jboss.ejb3.instantiator.spi.BeanInstantiator"><inject bean="org.jboss.ejb3.BeanInstantiator"/></parameter>
- </constructor>
- <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
- </bean>
+ <!-- ResourceProvider for message-destination-ref (EE.5.9 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.MessageDestinationRefResourceProvider" class="org.jboss.as.ejb3.switchboard.resource.provider.MessageDestinationReferenceResourceProvider">
+ <property name="messageDestinationLinkResolver"><inject/></property>
+ </bean>
+
+ <!-- Registers the default (EJB31) BeanInstantiatorDeployer -->
+ <!--<bean name="org.jboss.ejb3.BeanInstantiatorDeployer" class="org.jboss.ejb3.instantiator.deployer.SingletonBeanInstantiatorDeployer">-->
+ <!--<constructor>-->
+ <!--<parameter class="org.jboss.ejb3.instantiator.spi.BeanInstantiator"><inject bean="org.jboss.ejb3.BeanInstantiator"/></parameter>-->
+ <!--</constructor>-->
+ <!--<property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>-->
+ <!--</bean>-->
+
</deployment>
Modified: branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -176,6 +176,8 @@
private String keyStoreProviderArgument;
private String trustStoreProviderArgument;
+
+ private String clientAlias;
/** Specify the SecurityManagement instance */
private ISecurityManagement securityManagement = SecurityConstantsBridge.getSecurityManagement();
@@ -753,10 +755,51 @@
{
this.trustStoreProviderArgument = argument;
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.jboss.security.plugins.JaasSecurityDomainMBean#getClientAlias
+ */
+ @ManagementProperty(use = {ViewUse.CONFIGURATION}, description = "The preferred client alias to be used in an eventual SSL connection")
+ public String getClientAlias()
+ {
+ return clientAlias;
+ }
/*
* (non-Javadoc)
*
+ * @see org.jboss.security.plugins.JaasSecurityDomainMBean#setClientAlias(java.lang.String)
+ */
+ public void setClientAlias(String clientAlias)
+ {
+ this.clientAlias = clientAlias;
+ }
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.jboss.security.plugins.JaasSecurityDomainMBean#getServerAlias
+ */
+ @ManagementProperty(use = {ViewUse.CONFIGURATION}, description = "The preferred server alias to be used in an eventual SSL connection")
+ public String getServerAlias()
+ {
+ return keyStoreAlias;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.jboss.security.plugins.JaasSecurityDomainMBean#setServerAlias(java.lang.String)
+ */
+ public void setServerAlias(String serverAlias)
+ {
+ this.keyStoreAlias = serverAlias;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
* @see org.jboss.security.plugins.JaasSecurityDomainMBean#reloadKeyAndTrustStore()
*/
@ManagementOperation(description = "Reload the key and trust stores", impact = Impact.WriteOnly)
@@ -886,7 +929,7 @@
KeyManager[] keyManagers = keyMgr.getKeyManagers();
for (int i = 0; i < keyManagers.length; i++)
{
- keyManagers[i] = new SecurityKeyManager((X509KeyManager) keyManagers[i], keyStoreAlias);
+ keyManagers[i] = new SecurityKeyManager((X509KeyManager) keyManagers[i], keyStoreAlias, clientAlias);
}
}
}
Modified: branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -227,4 +227,30 @@
* @param argument for the TrustStore provider
*/
public void setTrustStoreProviderArgument(String argument);
+
+ /**
+ * Gets the preferred client alias to be used in an eventual SSL connection
+ * @return client alias name
+ */
+ public String getClientAlias();
+
+ /**
+ * Sets the preferred client alias to be used in an eventual SSL connection
+ * @param clientAlias client alias name
+ */
+ public void setClientAlias(String clientAlias);
+
+ /**
+ * Gets the preferred server alias to be used in an eventual SSL connection
+ * @deprecated use getKeyStoreAlias() instead
+ * @return client alias name
+ */
+ public String getServerAlias();
+
+ /**
+ * Sets the preferred server alias to be used in an eventual SSL connection
+ * @deprecated use setKeyStoreAlias(String) instead
+ * @param clientAlias client alias name
+ */
+ public void setServerAlias(String serverAlias);
}
Modified: branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/SecurityKeyManager.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/SecurityKeyManager.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/plugins/SecurityKeyManager.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -38,12 +38,15 @@
{
private X509KeyManager delegate;
- private String keyAlias;
+ private String serverAlias;
- public SecurityKeyManager(X509KeyManager keyManager, String alias)
+ private String clientAlias;
+
+ public SecurityKeyManager(X509KeyManager keyManager, String serverAlias, String clientAlias)
{
this.delegate = keyManager;
- this.keyAlias = alias;
+ this.serverAlias = serverAlias;
+ this.clientAlias = clientAlias;
}
/**
@@ -51,7 +54,9 @@
*/
public String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)
{
- return keyAlias;
+ if (clientAlias != null)
+ return clientAlias;
+ return delegate.chooseClientAlias(keyType, issuers, socket);
}
/**
@@ -59,7 +64,9 @@
*/
public String chooseServerAlias(String keyType, Principal[] issuers, Socket socket)
{
- return keyAlias;
+ if (serverAlias != null)
+ return serverAlias;
+ return delegate.chooseServerAlias(keyType, issuers, socket);
}
/**
Modified: branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/ssl/JBossSSLConfiguration.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/ssl/JBossSSLConfiguration.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/security/src/main/java/org/jboss/security/ssl/JBossSSLConfiguration.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -324,7 +324,7 @@
{
for (int i = 0; i < keyManagers.length; i++)
{
- keyManagers[i] = new SecurityKeyManager((X509KeyManager) keyManagers[i], keyStoreAlias);
+ keyManagers[i] = new SecurityKeyManager((X509KeyManager) keyManagers[i], keyStoreAlias, null);
}
}
return keyManagers;
Modified: branches/JBoss-AS-6.0.x_ipv6/server/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -318,6 +318,10 @@
<groupId>org.jboss.injection</groupId>
<artifactId>jboss-switchboard-metadata</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ </dependency>
<dependency>
<groupId>org.picketbox</groupId>
@@ -414,8 +418,28 @@
<artifactId>jboss-annotations-api_1.1_spec</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-spi</artifactId>
+ </dependency>
<dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-mc-spi</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-javaee</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-impl</artifactId>
+ </dependency>
+
+
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/ejb-deployer-jboss-beans.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/ejb-deployer-jboss-beans.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/ejb-deployer-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -20,7 +20,9 @@
</bean>
<bean name="EjbClassLoaderDeployer" class="org.jboss.deployment.EjbClassLoaderDeployer"/>
-
+
+ <bean name="Ejb2xComponentDeployer" class="org.jboss.deployment.Ejb2xComponentDeployer"/>
+
<bean name="EJB2xDeployer" class="org.jboss.ejb.deployers.EjbDeployer">
<!-- The EJBDeployer needs the JTA transaction manager service -->
<property name="transactionManagerServiceName">jboss:service=TransactionManager</property>
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml (from rev 109413, trunk/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Deployers -->
+ <bean name="org.jboss.switchboard.WebEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentSwitchBoardDeployer">
+ <constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
+ </bean>
+ <!-- Disabled till we have EJB3 containers integrated with switchboard
+ <bean name="org.jboss.switchboard.EJBEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentSwitchBoardDeployer">
+ <constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
+ </bean>
+ -->
+
+ <!-- Resource providers -->
+
+ <!-- processes env-entry resources (EE.5.4 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.EnvEntryResourceProvider" class="org.jboss.switchboard.mc.resource.provider.EnvEntryResourceProvider"/>
+
+ <!-- processes resource-env-ref resources (EE.5.8 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.ResourceEnvRefResourceProvider" class="org.jboss.switchboard.mc.resource.provider.ResourceEnvRefProvider">
+ <property name="typedResourceEnvRefResourceProviders">
+ <map keyClass="java.lang.String" valueClass="org.jboss.switchboard.mc.spi.MCBasedResourceProvider">
+ <entry>
+ <key>javax.xml.ws.WebServiceContext</key>
+ <value><inject bean="org.jboss.switchboard.WebServiceContextResourceProvider"/></value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- processes resource-ref resources (EE.5.7 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.ResourceRefResourceProvider" class="org.jboss.switchboard.mc.resource.provider.ResourceRefResourceProviderDelegator">
+ <property name="typedResourceRefResourceProviders">
+ <map keyClass="java.lang.String" valueClass="org.jboss.switchboard.mc.spi.MCBasedResourceProvider">
+ <entry>
+ <key>java.net.URL</key>
+ <value><bean name="org.jboss.switchboard.URLResourceProvider" class="org.jboss.switchboard.mc.resource.provider.URLResourceProvider"/></value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- ResourceProvider for java:comp/ORB (EE.5.12 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.ORBRefResourceProvider" class="org.jboss.as.switchboard.resource.provider.ORBRefResourceProvider"/>
+
+ <!-- ResourceProvider for java:comp/UserTransaction (EE.5.10 of Java EE 6 spec) -->
+ <bean name="org.jboss.switchboard.UserTransactionRefResourceProvider" class="org.jboss.as.switchboard.resource.provider.UserTransactionRefResourceProvider"/>
+
+ <!-- ResourceProvider for java:comp/TransactionSynchronizationRegistry (EE.5.11 of Java EE 6 spec) -->
+ <bean name="org.jboss.switchboard.TransactionSyncRegistryRefResourceProvider" class="org.jboss.as.switchboard.resource.provider.TransactionSynchronizationRefResourceProvider"/>
+
+
+ <!-- Resource provider registry -->
+ <bean name="org.jboss.switchboard.ResourceProviderRegistry" class="org.jboss.switchboard.mc.resource.provider.ResourceProviderRegistry">
+ <property name="resourceProviders">
+ <list>
+ <inject bean="org.jboss.switchboard.EnvEntryResourceProvider"/>
+ <inject bean="org.jboss.switchboard.ResourceEnvRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.ResourceRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.MessageDestinationRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.WebServiceRefResourceProvider"/>
+ <!-- Disabled till we resolve the transient failures with EJB jndi dependencies
+ <inject bean="org.jboss.switchboard.EJBLocalRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.EJBRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.AnnotatedEJBRefResourceProvider"/>
+ -->
+ <inject bean="org.jboss.switchboard.BeanManagerResourceProvider"/>
+ <!-- Disabled till container themselves stop binding into java:comp
+ <inject bean="org.jboss.switchboard.ORBRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.UserTransactionRefResourceProvider"/>
+ -->
+ <!-- Disabled till https://jira.jboss.org/browse/JBAS-8465 is fixed
+ <inject bean="org.jboss.switchboard.TransactionSyncRegistryRefResourceProvider"/>
+ -->
+ </list>
+ </property>
+
+ </bean>
+
+ <!-- JNDI environment processor -->
+ <bean name="org.jboss.switchboard.JndiEnvironmentProcessor" class="org.jboss.switchboard.mc.JndiEnvironmentProcessor">
+ <constructor><parameter><inject bean="org.jboss.switchboard.ResourceProviderRegistry"/></parameter></constructor>
+ </bean>
+
+
+</deployment>
\ No newline at end of file
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-jboss-beans.xml (from rev 109413, trunk/server/src/etc/deployers/switchboard-jboss-beans.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-jboss-beans.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/etc/deployers/switchboard-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Deployers -->
+ <bean name="org.jboss.switchboard.WebEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentSwitchBoardDeployer">
+ <constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
+ </bean>
+ <!-- Disabled till we have EJB3 containers integrated with switchboard
+ <bean name="org.jboss.switchboard.EJBEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentSwitchBoardDeployer">
+ <constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
+ </bean>
+ -->
+
+ <!-- Resource providers -->
+
+ <!-- processes env-entry resources (EE.5.4 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.EnvEntryResourceProvider" class="org.jboss.switchboard.mc.resource.provider.EnvEntryResourceProvider"/>
+
+ <!-- processes resource-env-ref resources (EE.5.8 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.ResourceEnvRefResourceProvider" class="org.jboss.switchboard.mc.resource.provider.ResourceEnvRefProvider">
+ <property name="typedResourceEnvRefResourceProviders">
+ <map keyClass="java.lang.String" valueClass="org.jboss.switchboard.mc.spi.MCBasedResourceProvider">
+ <entry>
+ <key>javax.xml.ws.WebServiceContext</key>
+ <value><inject bean="org.jboss.switchboard.WebServiceContextResourceProvider"/></value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- processes resource-ref resources (EE.5.7 of Java EE6 spec) -->
+ <bean name="org.jboss.switchboard.ResourceRefResourceProvider" class="org.jboss.switchboard.mc.resource.provider.ResourceRefResourceProviderDelegator">
+ <property name="typedResourceRefResourceProviders">
+ <map keyClass="java.lang.String" valueClass="org.jboss.switchboard.mc.spi.MCBasedResourceProvider">
+ <entry>
+ <key>java.net.URL</key>
+ <value><bean name="org.jboss.switchboard.URLResourceProvider" class="org.jboss.switchboard.mc.resource.provider.URLResourceProvider"/></value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- ResourceProvider for java:comp/UserTransaction (EE.5.10 of Java EE 6 spec) -->
+ <bean name="org.jboss.switchboard.UserTransactionRefResourceProvider" class="org.jboss.as.switchboard.resource.provider.UserTransactionRefResourceProvider"/>
+
+ <!-- ResourceProvider for java:comp/TransactionSynchronizationRegistry (EE.5.11 of Java EE 6 spec) -->
+ <bean name="org.jboss.switchboard.TransactionSyncRegistryRefResourceProvider" class="org.jboss.as.switchboard.resource.provider.TransactionSynchronizationRefResourceProvider"/>
+
+ <!-- Resource provider registry -->
+ <bean name="org.jboss.switchboard.ResourceProviderRegistry" class="org.jboss.switchboard.mc.resource.provider.ResourceProviderRegistry">
+ <property name="resourceProviders">
+ <list>
+ <inject bean="org.jboss.switchboard.EnvEntryResourceProvider"/>
+ <inject bean="org.jboss.switchboard.ResourceEnvRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.ResourceRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.MessageDestinationRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.WebServiceRefResourceProvider"/>
+ <!-- Disabled till we resolve the transient failures with EJB jndi dependencies
+ <inject bean="org.jboss.switchboard.EJBLocalRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.EJBRefResourceProvider"/>
+ <inject bean="org.jboss.switchboard.AnnotatedEJBRefResourceProvider"/>
+ -->
+ <inject bean="org.jboss.switchboard.BeanManagerResourceProvider"/>
+ <!-- Disabled till container themselves stop binding into java:comp
+ <inject bean="org.jboss.switchboard.UserTransactionRefResourceProvider"/>
+ -->
+ <!-- Disabled till https://jira.jboss.org/browse/JBAS-8465 is fixed
+ <inject bean="org.jboss.switchboard.TransactionSyncRegistryRefResourceProvider"/>
+ -->
+ </list>
+ </property>
+
+ </bean>
+
+ <!-- JNDI environment processor -->
+ <bean name="org.jboss.switchboard.JndiEnvironmentProcessor" class="org.jboss.switchboard.mc.JndiEnvironmentProcessor">
+ <constructor><parameter><inject bean="org.jboss.switchboard.ResourceProviderRegistry"/></parameter></constructor>
+ </bean>
+
+
+</deployment>
\ No newline at end of file
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard)
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard/resource)
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider)
Deleted: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,31 +0,0 @@
-/**
- *
- */
-package org.jboss.as.switchboard.resource.provider;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.switchboard.impl.resource.LinkRefResource;
-import org.jboss.switchboard.javaee.environment.ORBRefType;
-import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
-import org.jboss.switchboard.spi.Resource;
-
-/**
- * ORBRefResourceProvider
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class ORBRefResourceProvider implements MCBasedResourceProvider<ORBRefType>
-{
-
- public Class<ORBRefType> getEnvironmentEntryType()
- {
- return ORBRefType.class;
- }
-
- public Resource provide(DeploymentUnit context, ORBRefType type)
- {
- return new LinkRefResource("java:/JBossCorbaORB");
- }
-
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/ORBRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package org.jboss.as.switchboard.resource.provider;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.switchboard.impl.resource.LinkRefResource;
+import org.jboss.switchboard.javaee.environment.ORBRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+
+/**
+ * ORBRefResourceProvider
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class ORBRefResourceProvider implements MCBasedResourceProvider<ORBRefType>
+{
+
+ public Class<ORBRefType> getEnvironmentEntryType()
+ {
+ return ORBRefType.class;
+ }
+
+ public Resource provide(DeploymentUnit context, ORBRefType type)
+ {
+ return new LinkRefResource("java:/JBossCorbaORB");
+ }
+
+}
Deleted: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,31 +0,0 @@
-/**
- *
- */
-package org.jboss.as.switchboard.resource.provider;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.switchboard.impl.resource.LinkRefResource;
-import org.jboss.switchboard.javaee.environment.TransactionSynchronizationRegistryRefType;
-import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
-import org.jboss.switchboard.spi.Resource;
-
-/**
- * TransactionSynchronizationRefResourceProvider
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class TransactionSynchronizationRefResourceProvider implements MCBasedResourceProvider<TransactionSynchronizationRegistryRefType>
-{
-
- public Class<TransactionSynchronizationRegistryRefType> getEnvironmentEntryType()
- {
- return TransactionSynchronizationRegistryRefType.class;
- }
-
- public Resource provide(DeploymentUnit context, TransactionSynchronizationRegistryRefType type)
- {
- return new LinkRefResource("java:TransactionSynchronizationRegistry");
- }
-
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/TransactionSynchronizationRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package org.jboss.as.switchboard.resource.provider;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.switchboard.impl.resource.LinkRefResource;
+import org.jboss.switchboard.javaee.environment.TransactionSynchronizationRegistryRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+
+/**
+ * TransactionSynchronizationRefResourceProvider
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class TransactionSynchronizationRefResourceProvider implements MCBasedResourceProvider<TransactionSynchronizationRegistryRefType>
+{
+
+ public Class<TransactionSynchronizationRegistryRefType> getEnvironmentEntryType()
+ {
+ return TransactionSynchronizationRegistryRefType.class;
+ }
+
+ public Resource provide(DeploymentUnit context, TransactionSynchronizationRegistryRefType type)
+ {
+ return new LinkRefResource("java:TransactionSynchronizationRegistry");
+ }
+
+}
Deleted: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,31 +0,0 @@
-/**
- *
- */
-package org.jboss.as.switchboard.resource.provider;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.switchboard.impl.resource.LinkRefResource;
-import org.jboss.switchboard.javaee.environment.UserTransactionRefType;
-import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
-import org.jboss.switchboard.spi.Resource;
-
-/**
- * UserTransactionRefResourceProvider
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class UserTransactionRefResourceProvider implements MCBasedResourceProvider<UserTransactionRefType>
-{
-
- public Class<UserTransactionRefType> getEnvironmentEntryType()
- {
- return UserTransactionRefType.class;
- }
-
- public Resource provide(DeploymentUnit context, UserTransactionRefType type)
- {
- return new LinkRefResource("UserTransaction");
- }
-
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java (from rev 109413, trunk/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/as/switchboard/resource/provider/UserTransactionRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package org.jboss.as.switchboard.resource.provider;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.switchboard.impl.resource.LinkRefResource;
+import org.jboss.switchboard.javaee.environment.UserTransactionRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+
+/**
+ * UserTransactionRefResourceProvider
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class UserTransactionRefResourceProvider implements MCBasedResourceProvider<UserTransactionRefType>
+{
+
+ public Class<UserTransactionRefType> getEnvironmentEntryType()
+ {
+ return UserTransactionRefType.class;
+ }
+
+ public Resource provide(DeploymentUnit context, UserTransactionRefType type)
+ {
+ return new LinkRefResource("UserTransaction");
+ }
+
+}
Copied: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/deployment/Ejb2xComponentDeployer.java (from rev 109413, trunk/server/src/main/java/org/jboss/deployment/Ejb2xComponentDeployer.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/deployment/Ejb2xComponentDeployer.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/deployment/Ejb2xComponentDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,100 @@
+/**
+ *
+ */
+package org.jboss.deployment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.DeploymentVisitor;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+
+/**
+ * Creates and deploys EJB2x beans as components
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class Ejb2xComponentDeployer extends AbstractComponentDeployer<JBossMetaData, JBossEnterpriseBeanMetaData>
+{
+ private static final Logger log = Logger.getLogger(Ejb2xComponentDeployer.class);
+
+ private static final JBossDeploymentVisitor deploymentVisitor = new JBossDeploymentVisitor();
+
+ private static final String attachmentName = JBossMetaData.class.getName();
+
+ public Ejb2xComponentDeployer()
+ {
+ setInput(JBossMetaData.class);
+ setOutput(deploymentVisitor.getComponentType());
+
+ setDeploymentVisitor(deploymentVisitor);
+ }
+
+ @Override
+ protected <U> void deploy(DeploymentUnit unit, DeploymentVisitor<U> visitor) throws DeploymentException
+ {
+ U deployment = unit.getAttachment(attachmentName, visitor.getVisitorType());
+ try
+ {
+ visitor.deploy(unit, deployment);
+ }
+ catch (Throwable t)
+ {
+ throw DeploymentException.rethrowAsDeploymentException("Error deploying: " + unit.getName(), t);
+ }
+ }
+
+ @Override
+ protected <U> void undeploy(DeploymentUnit unit, DeploymentVisitor<U> visitor)
+ {
+ if (visitor == null)
+ return;
+
+ U deployment = unit.getAttachment(attachmentName, visitor.getVisitorType());
+ visitor.undeploy(unit, deployment);
+ }
+
+ private static class JBossDeploymentVisitor
+ extends
+ AbstractDeploymentVisitor<JBossEnterpriseBeanMetaData, JBossMetaData>
+ {
+ @Override
+ public Class<JBossEnterpriseBeanMetaData> getComponentType()
+ {
+ return JBossEnterpriseBeanMetaData.class;
+ }
+
+ @Override
+ protected List<? extends JBossEnterpriseBeanMetaData> getComponents(JBossMetaData deployment)
+ {
+ // Process only 2.x beans
+ if (deployment == null || !deployment.isEJB2x())
+ return null;
+ JBossEnterpriseBeansMetaData enterpriseBeans = deployment.getEnterpriseBeans();
+ if (enterpriseBeans == null)
+ {
+ return null;
+ }
+ return new ArrayList<JBossEnterpriseBeanMetaData>(enterpriseBeans);
+ }
+
+ @Override
+ protected String getComponentName(JBossEnterpriseBeanMetaData attachment)
+ {
+ return JBossEnterpriseBeanMetaData.class.getName() + "." + attachment.getEjbName();
+ }
+
+ public Class<JBossMetaData> getVisitorType()
+ {
+ return JBossMetaData.class;
+ }
+ }
+
+}
Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -39,6 +39,10 @@
import javax.management.ObjectName;
import org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.spi.DeploymentException;
@@ -50,6 +54,13 @@
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.ejb3.ejbref.resolver.spi.EjbReference;
import org.jboss.ejb3.ejbref.resolver.spi.EjbReferenceResolver;
+import org.jboss.injection.injector.metadata.EnvironmentEntryType;
+import org.jboss.injection.injector.metadata.InjectionTargetType;
+import org.jboss.injection.injector.metadata.JndiEnvironmentRefsGroup;
+import org.jboss.injection.manager.spi.InjectionManager;
+import org.jboss.injection.manager.spi.Injector;
+import org.jboss.injection.mc.injector.LazyEEInjector;
+import org.jboss.injection.mc.metadata.JndiEnvironmentImpl;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
import org.jboss.managed.api.ManagedObject;
@@ -65,6 +76,7 @@
import org.jboss.metadata.ear.spec.WebModuleMetaData;
import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
@@ -74,6 +86,8 @@
import org.jboss.metadata.web.spec.WebMetaData;
import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
+import org.jboss.switchboard.spi.Barrier;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceConstructorMetaData;
import org.jboss.system.metadata.ServiceDependencyMetaData;
@@ -147,6 +161,8 @@
/** EJB reference resolver */
private EjbReferenceResolver ejbRefResolver;
+
+ private JavaEEComponentInformer componentInformer;
/**
* Create a new AbstractWarDeployer.
@@ -154,6 +170,8 @@
public AbstractWarDeployer()
{
super(JBossWebMetaData.class);
+ addInput(Barrier.class);
+ addInput(InjectionManager.class);
setOutput(ServiceMetaData.class);
setOutput(WarDeployment.class);
}
@@ -282,7 +300,12 @@
this.ejbRefResolver = resolver;
}
-
+ @Inject
+ public void setJavaEEComponentInformer(JavaEEComponentInformer informer)
+ {
+ this.componentInformer = informer;
+ }
+
/** Get the session attribute number under which the caller Subject is stored
* @jmx:managed-attribute
*/
@@ -729,7 +752,55 @@
dependencies.add(sdmd);
}
}
+
+ // SwitchBoard
+ Barrier switchBoard = unit.getAttachment(Barrier.class);
+ if (switchBoard != null)
+ {
+ // Setup switchboard dependency on the deployment
+ ServiceDependencyMetaData switchBoardDependency = new ServiceDependencyMetaData();
+ switchBoardDependency.setIDependOn(switchBoard.getId());
+ dependencies.add(switchBoardDependency);
+ log.debug("Added switchboard dependency: " + switchBoard.getId() + " for web module: " + name);
+ }
+ // Injection Manager
+ InjectionManager injectionManager = unit.getAttachment(InjectionManager.class);
+ if (injectionManager != null)
+ {
+ // set the InjectionManager on the deployment
+ deployment.setInjectionManager(injectionManager);
+ // Setup the Injector
+ Environment webEnvironment = metaData.getJndiEnvironmentRefsGroup();
+ if (webEnvironment != null)
+ {
+ // convert JBMETA metadata to jboss-injection specific metadata
+ JndiEnvironmentRefsGroup jndiEnvironment = new JndiEnvironmentImpl(webEnvironment, unit.getClassLoader());
+ // For optimization, we'll create an Injector only if there's atleast one InjectionTarget
+ if (this.hasInjectionTargets(jndiEnvironment))
+ {
+ // create the injector
+ LazyEEInjector lazyEEInjector = new LazyEEInjector(jndiEnvironment);
+ // add the injector the injection manager
+ injectionManager.addInjector(lazyEEInjector);
+ // Deploy the Injector as a MC bean (so that the fully populated naming context (obtained via the SwitchBoard
+ // Barrier) gets injected.
+ String injectorMCBeanName = this.getInjectorMCBeanName(unit);
+ BeanMetaData injectorBMD = this.createInjectorBMD(injectorMCBeanName, lazyEEInjector, switchBoard);
+ unit.addAttachment(BeanMetaData.class + ":" + injectorMCBeanName, injectorBMD);
+
+ // Add the Injector dependency on the deployment (so that the DU doesn't
+ // get started till the Injector is available)
+ ServiceDependencyMetaData injectorDepdendency = new ServiceDependencyMetaData();
+ injectorDepdendency.setIDependOn(injectorMCBeanName);
+ dependencies.add(injectorDepdendency);
+ log.debug("Added Injector dependency: " + injectorMCBeanName + " for web module: " + name);
+ }
+ }
+ }
+ // TODO: We haven't yet integrated PU/PC and EJB reference providers in SwitchBoard.
+ // The following sections will be removed after the RPs are made available
+
// JBAS-6795 Add dependency on PersistenceUnit references
PersistenceUnitReferencesMetaData puRefs = metaData.getPersistenceUnitRefs();
if (puRefs != null)
@@ -784,7 +855,6 @@
}
}
}
-
webModule.setDependencies(dependencies);
@@ -905,4 +975,77 @@
visitor.visit(this);
}
}
+
+ /**
+ * Creates and returns {@link BeanMetaData} for the passed {@link LazyEEInjector injector} and sets up
+ * dependency on the passed {@link Barrier SwitchBoard barrier}.
+ *
+ * @param injectorMCBeanName
+ * @param injector
+ * @param barrier
+ * @return
+ */
+ protected BeanMetaData createInjectorBMD(String injectorMCBeanName, LazyEEInjector injector, Barrier barrier)
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(injectorMCBeanName, injector.getClass().getName());
+ builder.setConstructorValue(injector);
+
+ // add injection dependency on INSTALLED state of SwitchBoard Barrier
+ AbstractInjectionValueMetaData barrierInjection = new AbstractInjectionValueMetaData(barrier.getId());
+ barrierInjection.setDependentState(ControllerState.INSTALLED);
+ builder.addPropertyMetaData("barrier", barrierInjection);
+
+ // return the Injector BMD
+ return builder.getBeanMetaData();
+ }
+
+
+ /**
+ * Returns the MC bean name for a {@link Injector injector} belonging to the
+ * {@link InjectionManager InjectionManager} for the passed {@link DeploymentUnit deployment unit}
+ *
+ * @param unit
+ * @return
+ */
+ protected String getInjectorMCBeanName(DeploymentUnit unit)
+ {
+ StringBuilder sb = new StringBuilder("jboss-injector:");
+ String appName = this.componentInformer.getApplicationName(unit);
+ if (appName != null)
+ {
+ sb.append("appName=");
+ sb.append(appName);
+ sb.append(",");
+ }
+ String moduleName = this.componentInformer.getModuleName(unit);
+ sb.append("module=");
+ sb.append(moduleName);
+
+ return sb.toString();
+ }
+
+ /**
+ * Returns true if the passed {@link JndiEnvironmentRefsGroup} has atleast one {@link EnvironmentEntryType environment entry}
+ * with an {@link InjectionTargetType injection target}. Else, returns false
+ *
+ * @param jndiEnv
+ * @return
+ */
+ private boolean hasInjectionTargets(JndiEnvironmentRefsGroup jndiEnv)
+ {
+ Collection<EnvironmentEntryType> envEntries = jndiEnv.getEntries();
+ if (envEntries == null || envEntries.isEmpty())
+ {
+ return false;
+ }
+ for (EnvironmentEntryType envEntry : envEntries)
+ {
+ Collection<InjectionTargetType> injectionTargets = envEntry.getInjectionTargets();
+ if (injectionTargets != null && !injectionTargets.isEmpty())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -42,6 +42,7 @@
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.ejb.EjbUtil50;
+import org.jboss.injection.manager.spi.InjectionManager;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.kernel.Kernel;
import org.jboss.logging.Logger;
@@ -143,6 +144,11 @@
protected ISecurityManagement securityManagement;
private PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
+
+ /**
+ * Injection manager
+ */
+ private InjectionManager injectionManager;
public AbstractWarDeployment()
{
@@ -308,6 +314,16 @@
{
this.persistenceUnitDependencyResolver = resolver;
}
+
+ public void setInjectionManager(InjectionManager injectionManager)
+ {
+ this.injectionManager = injectionManager;
+ }
+
+ public InjectionManager getInjectionManager()
+ {
+ return this.injectionManager;
+ }
/**
* Get the Policy Registration Name
@@ -804,7 +820,7 @@
* element. If there was no security-domain element then the bindings are to
* NullSecurityManager instance which simply allows all access.
*/
- protected void linkSecurityDomain(String securityDomain, Context envCtx) throws NamingException
+ protected void linkSecurityDomain(String securityDomain, Context javaCompCtx) throws NamingException
{
if (securityDomain == null)
{
@@ -817,11 +833,11 @@
securityDomain = SecurityConstants.JAAS_CONTEXT_ROOT + "/" + securityDomain;
log.debug("Linking security/securityMgr to JNDI name: " + securityDomain);
- Util.bind(envCtx, "security/securityMgr", new LinkRef(securityDomain));
- Util.bind(envCtx, "security/realmMapping", new LinkRef(securityDomain + "/realmMapping"));
- Util.bind(envCtx, "security/authorizationMgr", new LinkRef(securityDomain + "/authorizationMgr"));
- Util.bind(envCtx, "security/security-domain", new LinkRef(securityDomain));
- Util.bind(envCtx, "security/subject", new LinkRef(securityDomain + "/subject"));
+ Util.bind(javaCompCtx, "env/security/securityMgr", new LinkRef(securityDomain));
+ Util.bind(javaCompCtx, "env/security/realmMapping", new LinkRef(securityDomain + "/realmMapping"));
+ Util.bind(javaCompCtx, "env/security/authorizationMgr", new LinkRef(securityDomain + "/authorizationMgr"));
+ Util.bind(javaCompCtx, "env/security/security-domain", new LinkRef(securityDomain));
+ Util.bind(javaCompCtx, "env/security/subject", new LinkRef(securityDomain + "/subject"));
}
/**
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/build.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/build.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/build.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -390,6 +390,12 @@
<fileset refid="org.jboss.jbossas:jboss-server-manager:jar"/>
<fileset refid="org.jboss.jbossts:jbossjts:jar"/>
<fileset refid="org.jboss.jbossts:jbossjts-integration:jar"/>
+
+ <!-- Switchboard and jboss-injection -->
+ <fileset refid="org.jboss.injection:jboss-injection-injector:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-mc-impl:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-manager:jar"/>
+
</path>
@@ -614,6 +620,7 @@
<property name="thirdparty.pom.file" location="pom.xml"/>
<property name="maven.repo.local" location="${user.home}/.m2/repository"/>
+
<!--
- Initialize properties for each dependency in the thirdparty pom
- The properties take the form "groupId:artifactId:packaging"
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/jsf.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/jsf.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/jsf.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -61,6 +61,7 @@
<webinf dir="${build.resources}/web/jsfinjection/WEB-INF">
<include name="faces-config.xml"/>
+ <include name="jboss-service.xml"/>
</webinf>
</war>
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/mdb.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/mdb.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/mdb.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -16,6 +16,13 @@
</fileset>
</jar>
+ <!-- wrap hornetq xml files -->
+ <jar destfile="${build.lib}/hornetq-xmls.jar">
+ <fileset dir="${build.resources}/hornetq">
+ <include name="**/*.xml"/>
+ </fileset>
+ </jar>
+
<!-- build mdb.jar -->
<jar destfile="${build.lib}/mdb.jar">
<fileset dir="${build.classes}">
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/web.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/web.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/imports/sections/web.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -230,6 +230,7 @@
<metainf dir="${build.resources}/web/META-INF">
<include name="jboss-app.xml"/>
<include name="jboss-structure.xml"/>
+ <include name="hornetq-jms.xml"/>
</metainf>
<fileset dir="${build.lib}">
<include name="jbosstest-web-ejbs.jar"/>
@@ -691,6 +692,7 @@
webxml="${build.resources}/web/simple-xmlonly/web.xml">
<webinf dir="${build.resources}/web/simple-xmlonly">
<include name="jboss-web.xml"/>
+ <include name="jboss-service.xml"/>
</webinf>
<classes dir="${build.classes}">
<include name="org/jboss/test/web/servlets/ENCTester.class"/>
@@ -720,7 +722,10 @@
<classes dir="${build.classes}">
<include name="org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.class"/>
<include name="org/jboss/test/web/servlets/ENCTester.class"/>
- </classes>
+ </classes>
+ <webinf dir="${build.resources}/web/simple-xmlonly">
+ <include name="jboss-service.xml"/>
+ </webinf>
</war>
<jar destfile="${build.lib}/simple-mock.beans">
<zipfileset dir="${build.resources}/web/simple-xmlonly"
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -127,10 +127,11 @@
return null;
}
- fillMemory(weakReferenceOnLoader);
-
+ fillMemory(weakReferenceOnLoader, leakAnalyzer);
+
if (weakReferenceOnLoader.get() == null)
{
+ log.debug("leakAnalyzer.forceGC() released CL ref");
return null;
}
@@ -175,30 +176,48 @@
}
else
{
- log.debug("JVMTI not active; using System.gc()");
- System.gc();
- Thread.sleep(1000);
-
+ log.debug("JVMTI not active; using System.gc() to release references to " + weakReferenceOnLoader.get());
+
if (weakReferenceOnLoader.get() != null)
- fillMemory(weakReferenceOnLoader);
+ fillMemory(weakReferenceOnLoader, null);
if (weakReferenceOnLoader.get() != null)
- fillMemory(weakReferenceOnLoader);
+ fillMemory(weakReferenceOnLoader, null);
}
-
+ log.info("returning reference to classloader = " + weakReferenceOnLoader.get());
return (ClassLoader) weakReferenceOnLoader.get();
}
-
- private void fillMemory(WeakReference<ClassLoader> ref)
+
+ /**
+ * Request a full gc
+ */
+ private void forceFullGCAndFinalize(LeakAnalyzer leakAnalyzer)
{
+ if(leakAnalyzer != null)
+ {
+ leakAnalyzer.forceGC();
+ }
+ else
+ {
+ // encourage a full gc
+ for (int looper =0; looper < 5; looper++)
+ {
+ System.gc();
+ }
+
+ }
+ System.runFinalization();
+ }
+
+ private void fillMemory(WeakReference<ClassLoader> ref, LeakAnalyzer leakAnalyzer)
+ {
Runtime rt = Runtime.getRuntime();
int[] adds = { 0, 10, 20, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 };
for (int i = 0; i < adds.length; i++)
{
int toAdd = adds[i];
- System.gc();
- System.runFinalization();
-
+ forceFullGCAndFinalize(leakAnalyzer);
+
if (ref.get() == null)
break;
@@ -210,7 +229,7 @@
String pct = (95 + (toAdd/10)) + "." + (toAdd - ((toAdd/10) * 10));
int bucket = create / 10000;
log.info("Filling " + pct + "% of free memory. Free memory=" + avail +
- " Total Memory=" + rt.totalMemory() + " Max Memory=" + rt.maxMemory());
+ " Total Memory=" + rt.totalMemory() + " Max Memory=" + rt.maxMemory() +", target ref = " + ref.get());
try
{
@@ -226,9 +245,8 @@
catch (Throwable t)
{
bytez = null;
- System.gc();
- System.runFinalization();
- log.warn("Caught throwable filling memory: " + t);
+ forceFullGCAndFinalize(leakAnalyzer);
+ log.warn("Caught throwable filling memory: " + t + ", target ref = " + ref.get());
break;
}
finally
@@ -241,7 +259,7 @@
}
catch (InterruptedException ignored)
{
- log.warn("Interrupted");
+ log.warn("Interrupted " +", target ref = " + ref.get());
break;
}
}
@@ -267,9 +285,9 @@
if (ref.get() != null)
{
- System.gc();
- System.runFinalization();
+ forceFullGCAndFinalize(leakAnalyzer);
}
+ log.warn("fillMemory returning ref = " + ref.get());
}
public void removeClassLoader(String key)
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/BuddyReplicationFailoverUnitTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/BuddyReplicationFailoverUnitTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/BuddyReplicationFailoverUnitTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -35,12 +35,13 @@
import junit.framework.Test;
import junit.framework.TestCase;
-import org.infinispan.manager.CacheContainer;
+import org.infinispan.manager.EmbeddedCacheManager;
import org.jboss.logging.Logger;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.jboss.ReplicationGranularity;
import org.jboss.metadata.web.jboss.ReplicationTrigger;
import org.jboss.test.cluster.testutil.CacheConfigTestSetup;
+import org.jboss.test.cluster.testutil.SessionTestUtil;
import org.jboss.test.cluster.web.mocks.InvalidateSessionRequestHandler;
import org.jboss.test.cluster.web.mocks.SetAttributesRequestHandler;
import org.jboss.web.tomcat.service.session.JBossCacheManager;
@@ -52,7 +53,7 @@
*/
public class BuddyReplicationFailoverUnitTestCase extends TestCase
{
- protected static CacheContainer[] cacheContainers = new CacheContainer[4];
+ protected static EmbeddedCacheManager[] cacheContainers = new EmbeddedCacheManager[4];
protected static long testId = System.currentTimeMillis();
@@ -89,7 +90,14 @@
{
if (manager != null)
{
- manager.stop();
+ try
+ {
+ manager.stop();
+ }
+ catch (Exception e)
+ {
+ log.warn(e.getMessage(), e);
+ }
}
}
@@ -132,7 +140,7 @@
this.log.info("Sleeping");
- sleepThread(1100);
+ sleepThread(1100);
this.log.info("Run passivation");
@@ -170,8 +178,6 @@
log.info("++++ Starting testFailoverAndFailBack ++++");
String warname = String.valueOf(++testId);
- try
- {
// A war with a maxInactive of 30 mins and no maxIdle
this.startManagers(warname, 1800000, -1, -1);
@@ -182,6 +188,21 @@
String id = setHandler.getSessionId();
+ // Find a node
+ int localIndex = 0;
+ int remoteIndex = 0;
+ for (int i = 0; i < managers.length; ++i)
+ {
+ if (managers[i].getDistributedCacheManager().isLocal(id))
+ {
+ localIndex = i;
+ }
+ else
+ {
+ remoteIndex = i;
+ }
+ }
+
// Modify
log.info("modifying session");
setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(1)), false);
@@ -191,38 +212,44 @@
// Failover and modify
log.info("failing over");
setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(2)), false);
- invokeRequest(managers[3], setHandler, id);
+ invokeRequest(managers[localIndex], setHandler, id);
assertEquals(getAttributeValue(1), setHandler.getCheckedAttributes().get("count"));
// Modify
log.info("modifying session");
setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(3)), false);
- invokeRequest(managers[3], setHandler, id);
+ invokeRequest(managers[localIndex], setHandler, id);
assertEquals(getAttributeValue(2), setHandler.getCheckedAttributes().get("count"));
+ // Failover and modify
+ log.info("failing over");
+ setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(2)), false);
+ invokeRequest(managers[remoteIndex], setHandler, id);
+ assertEquals(getAttributeValue(3), setHandler.getCheckedAttributes().get("count"));
+
+ // Modify
+ log.info("modifying session");
+ setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(3)), false);
+ invokeRequest(managers[remoteIndex], setHandler, id);
+ assertEquals(getAttributeValue(4), setHandler.getCheckedAttributes().get("count"));
+
// Failback and modify
log.info("failing back");
setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(4)), false);
invokeRequest(managers[0], setHandler, id);
- assertEquals(getAttributeValue(3), setHandler.getCheckedAttributes().get("count"));
+ assertEquals(getAttributeValue(5), setHandler.getCheckedAttributes().get("count"));
// Invalidate
log.info("invalidating");
InvalidateSessionRequestHandler invalidationHandler = new InvalidateSessionRequestHandler(Collections.singleton("count"), false);
invokeRequest(managers[0], invalidationHandler, id);
- assertEquals(getAttributeValue(4), invalidationHandler.getCheckedAttributes().get("count"));
+ assertEquals(getAttributeValue(6), invalidationHandler.getCheckedAttributes().get("count"));
// Reestablish
log.info("re-establishing");
setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", getAttributeValue(0)), false);
invokeRequest(managers[0], invalidationHandler, id);
assertNull(setHandler.getCheckedAttributes().get("count"));
- }
- catch (Throwable e)
- {
- log.error(e.getMessage(), e);
- throw e;
- }
}
protected void startManagers(String warname, int maxInactive, int maxIdle, int maxUnreplicated) throws Exception
@@ -234,5 +261,7 @@
managers[i].init(warname, metadata);
managers[i].start();
}
+
+ SessionTestUtil.blockUntilViewsReceived(cacheContainers, 5000L);
}
}
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/SessionCountUnitTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/SessionCountUnitTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/SessionCountUnitTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -46,7 +46,7 @@
{
private static final Logger log = Logger.getLogger(SessionCountUnitTestCase.class);
- private static long testCount = System.currentTimeMillis();
+ private static int managerIndex = 1;
private JGroupsSystemPropertySupport jgroupsSupport;
private EmbeddedCacheManager[] cacheContainers = new EmbeddedCacheManager[2];
@@ -134,14 +134,14 @@
{
log.info("Enter testStandaloneMaxSessions");
- ++testCount;
+ String warName = "test" + ++managerIndex;
cacheContainers[0] = SessionTestUtil.createCacheContainer(true, null, false, false);
cacheContainers[0].start();
- managers[0] = SessionTestUtil.createManager("test" + testCount, 5, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 5, cacheContainers[0], null);
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(2);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
@@ -179,14 +179,14 @@
{
log.info("Enter testStandaloneMaxSessionsWithMaxIdle");
- ++testCount;
- String passDir = getPassivationDir(testCount, 1);
+ String warName = "test" + ++managerIndex;
+ String passDir = getPassivationDir(managerIndex, 1);
cacheContainers[0] = SessionTestUtil.createCacheContainer(true, passDir, false, false);
cacheContainers[0].start();
- managers[0] = SessionTestUtil.createManager("test" + testCount, 5, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 5, cacheContainers[0], null);
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1, true, 1, -1);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
@@ -234,14 +234,14 @@
{
log.info("Enter testStandaloneMaxSessionsWithMinIdle");
- ++testCount;
- String passDir = getPassivationDir(testCount, 1);
+ String warName = "test" + ++managerIndex;
+ String passDir = getPassivationDir(managerIndex, 1);
cacheContainers[0] = SessionTestUtil.createCacheContainer(true, passDir, false, false);
cacheContainers[0].start();
- managers[0] = SessionTestUtil.createManager("test" + testCount, 5, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 5, cacheContainers[0], null);
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1, true, 3, 1);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
@@ -289,15 +289,15 @@
{
log.info("Enter testReplicatedMaxSessions");
- ++testCount;
+ String warName = "test" + ++managerIndex;
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1);
for (int i = 0; i < cacheContainers.length; ++i)
{
cacheContainers[i] = SessionTestUtil.createCacheContainer(false, null, false, false);
cacheContainers[i].start();
- managers[i] = SessionTestUtil.createManager("test" + testCount, 1, cacheContainers[i], null);
- managers[i].init("test.war", webMetaData);
+ managers[i] = SessionTestUtil.createManager(warName, 1, cacheContainers[i], null);
+ managers[i].init(warName, webMetaData);
managers[i].start();
assertFalse("Passivation is disabled", managers[i].isPassivationEnabled());
@@ -338,16 +338,16 @@
{
log.info("Enter testReplicatedMaxSessionsWithMaxIdle");
- ++testCount;
+ String warName = "test" + ++managerIndex;
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1, true, 1, -1);
for (int i = 0; i < cacheContainers.length; ++i)
{
- String passDir = getPassivationDir(testCount, i + 1);
+ String passDir = getPassivationDir(managerIndex, i + 1);
cacheContainers[i] = SessionTestUtil.createCacheContainer(false, passDir, false, false);
cacheContainers[i].start();
- managers[i] = SessionTestUtil.createManager("test" + testCount, 1, cacheContainers[i], null);
- managers[i].init("test.war", webMetaData);
+ managers[i] = SessionTestUtil.createManager(warName, 1, cacheContainers[i], null);
+ managers[i].init(warName, webMetaData);
managers[i].start();
assertTrue("Passivation is enabled", managers[i].isPassivationEnabled());
@@ -393,16 +393,16 @@
{
log.info("Enter testReplicatedMaxSessionsWithMinIdle");
- ++testCount;
+ String warName = "test" + ++managerIndex;
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1, true, 3, 1);
for (int i = 0; i < cacheContainers.length; ++i)
{
- String passDir = getPassivationDir(testCount, i + 1);
+ String passDir = getPassivationDir(managerIndex, i + 1);
cacheContainers[i] = SessionTestUtil.createCacheContainer(false, passDir, false, false);
cacheContainers[i].start();
- managers[i] = SessionTestUtil.createManager("test" + testCount, 1, cacheContainers[i], null);
- managers[i].init("test.war", webMetaData);
+ managers[i] = SessionTestUtil.createManager(warName, 1, cacheContainers[i], null);
+ managers[i].init(warName, webMetaData);
managers[i].start();
assertTrue("Passivation is enabled", managers[i].isPassivationEnabled());
@@ -449,16 +449,16 @@
{
log.info("Enter testTotalReplication");
- ++testCount;
+ String warName = "test" + ++managerIndex;
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(1, true, 3, 1);
for (int i = 0; i < cacheContainers.length; ++i)
{
- String passDir = getPassivationDir(testCount, i + 1);
+ String passDir = getPassivationDir(managerIndex, i + 1);
cacheContainers[i] = SessionTestUtil.createCacheContainer(false, passDir, true, false);
cacheContainers[i].start();
- managers[i] = SessionTestUtil.createManager("test" + testCount, 1, cacheContainers[i], null);
- managers[i].init("test.war", webMetaData);
+ managers[i] = SessionTestUtil.createManager(warName, 1, cacheContainers[i], null);
+ managers[i].init(warName, webMetaData);
managers[i].start();
assertTrue("Passivation is enabled", managers[i].isPassivationEnabled());
@@ -514,14 +514,14 @@
private void standaloneWarRedeployTest(boolean restartCache)
throws Exception
{
- ++testCount;
- String passDir = getPassivationDir(testCount, 1);
+ String warName = "test" + ++managerIndex;
+ String passDir = getPassivationDir(managerIndex, 1);
cacheContainers[0] = SessionTestUtil.createCacheContainer(true, passDir, false, false);
cacheContainers[0].start();
- managers[0] = SessionTestUtil.createManager("test" + testCount, 300, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 300, cacheContainers[0], null);
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(2, true, 3, 1);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
@@ -563,13 +563,13 @@
{
cacheContainers[0].stop();
- passDir = getPassivationDir(testCount, 1);
+ passDir = getPassivationDir(managerIndex, 1);
cacheContainers[0] = SessionTestUtil.createCacheContainer(true, passDir, false, false);
}
- managers[0] = SessionTestUtil.createManager("test" + testCount, 5, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 5, cacheContainers[0], null);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
@@ -626,16 +626,16 @@
boolean purgeOnStartStop)
throws Exception
{
- ++testCount;
+ String warName = "test" + ++managerIndex;
JBossWebMetaData webMetaData = SessionTestUtil.createWebMetaData(2, true, 30, 1);
for (int i = 0; i < cacheContainers.length; ++i)
{
- String passDir = getPassivationDir(testCount, i + 1);
+ String passDir = getPassivationDir(managerIndex, i + 1);
cacheContainers[i] = SessionTestUtil.createCacheContainer(false, passDir, totalReplication, purgeOnStartStop);
cacheContainers[i].start();
- managers[i] = SessionTestUtil.createManager("test" + testCount, 300, cacheContainers[i], null);
- managers[i].init("test.war", webMetaData);
+ managers[i] = SessionTestUtil.createManager(warName, 300, cacheContainers[i], null);
+ managers[i].init(warName, webMetaData);
managers[i].start();
assertTrue("Passivation is enabled", managers[i].isPassivationEnabled());
@@ -699,14 +699,14 @@
{
cacheContainers[0].stop();
- String passDir = getPassivationDir(testCount, 1);
+ String passDir = getPassivationDir(managerIndex, 1);
cacheContainers[0] = SessionTestUtil.createCacheContainer(false, passDir, totalReplication, purgeOnStartStop);
cacheContainers[0].start();
}
- managers[0] = SessionTestUtil.createManager("test" + testCount, 300, cacheContainers[0], null);
+ managers[0] = SessionTestUtil.createManager(warName, 300, cacheContainers[0], null);
- managers[0].init("test.war", webMetaData);
+ managers[0].init(warName, webMetaData);
managers[0].start();
assertTrue("Passivation is enabled", managers[0].isPassivationEnabled());
@@ -742,8 +742,9 @@
assertEquals("Expired session count correct", 0, managers[0].getExpiredSessionCount());
assertEquals("Passivated session count correct", 0, managers[0].getPassivatedSessionCount());
}
-
- if (!fullRestart)
+
+ // Due to ISPN-658 workaround, In DIST, restarting cache IS a full restart, so ignore this case for now
+ if (!fullRestart && totalReplication)
{
assertEquals("Session count correct", 2, managers[1].getActiveSessionCount());
assertEquals("Local session count correct", 2, managers[1].getLocalActiveSessionCount());
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/JChannelFactoryOverrideUnitTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/JChannelFactoryOverrideUnitTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/JChannelFactoryOverrideUnitTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -30,14 +30,13 @@
import junit.framework.TestCase;
+import org.jboss.ha.core.channelfactory.ProtocolData;
+import org.jboss.ha.core.channelfactory.ProtocolParameter;
import org.jboss.ha.core.channelfactory.ProtocolStackConfigInfo;
import org.jboss.ha.framework.server.JChannelFactory;
-import org.jboss.ha.framework.server.managed.ProtocolDataProtocolStackConfigurator;
import org.jboss.logging.Logger;
import org.jgroups.Channel;
import org.jgroups.JChannel;
-import org.jgroups.conf.ProtocolData;
-import org.jgroups.conf.ProtocolParameter;
import org.jgroups.protocols.TP;
/**
@@ -134,19 +133,19 @@
assertNotNull(origTransport);
ProtocolParameter[] origParams = origTransport.getParametersAsArray();
ProtocolParameter[] newParams = origParams.clone();
- ProtocolData newTransport = new ProtocolData(origTransport.getProtocolName(), origTransport.getDescription(), origTransport.getClassName(), newParams);
+ ProtocolData newTransport = new ProtocolData(origTransport.getProtocolName(), origTransport.getClassName(), newParams);
ProtocolParameter overrideParam = new ProtocolParameter("max_bundle_size", "50000");
newTransport.override(new ProtocolParameter[]{overrideParam});
ProtocolData[] newConfig = origConfig.clone();
newConfig[0] = newTransport;
- ProtocolStackConfigInfo updated = new ProtocolStackConfigInfo(unshared1.getName(), unshared1.getDescription(), new ProtocolDataProtocolStackConfigurator(newConfig));
+ ProtocolStackConfigInfo updated = new ProtocolStackConfigInfo(unshared1.getName(), unshared1.getDescription(), newConfig);
Map<String, ProtocolStackConfigInfo> newMap = new HashMap<String, ProtocolStackConfigInfo>(origMap);
newMap.put("unshared1", updated);
ProtocolData[] addedConfig = origConfig.clone();
- ProtocolStackConfigInfo added = new ProtocolStackConfigInfo("added", "added", new ProtocolDataProtocolStackConfigurator(addedConfig));
+ ProtocolStackConfigInfo added = new ProtocolStackConfigInfo("added", "added", addedConfig);
newMap.put("added", added);
assertTrue(newMap.containsKey("shared2"));
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/web/test/SessionPassivationTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/web/test/SessionPassivationTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/defaultcfg/web/test/SessionPassivationTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -225,14 +225,6 @@
deployed1 = false;
undeploy(adaptors[1]);
- if (!isCleanCacheOnRedeploy())
- {
- // Make sure the cache is not stopped during redeploy due to
- // no services using it. Tell CacheHelper to hold a ref.
-// String cacheConfigName = System.getProperty(SessionTestUtil.CACHE_CONFIG_PROP, "standard-session-cache");
-// SessionTestUtil.setCacheConfigName(adaptors[0], cacheConfigName);
- }
-
sleep(2000);
// Create an instance of HttpClient.
@@ -259,16 +251,8 @@
// Get the Attribute using the same session ID
SessionTestUtil.setCookieDomainToThisServer(client, servers_[0]);
- if (isCleanCacheOnRedeploy())
- {
- // We don't expect data to survive a restart
- makeGetFailed(client, baseURL0_ +getUrl);
- }
- else
- {
- String attr0 = makeGet(client, baseURL0_ +getUrl);
- assertEquals("attributeMatches after activation", attr0, attr);
- }
+ // We don't expect data to survive a restart
+ makeGetFailed(client, baseURL0_ +getUrl);
getLog().debug("Exit testRedeploy");
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -101,6 +101,8 @@
}
cacheContainers[i] = SessionTestUtil.createCacheContainer(local, cacheStore, totalReplication, true);
cacheContainers[i].start();
+ // Request default cache, thereby making sure channel is started
+ cacheContainers[i].getCache();
}
}
finally
@@ -120,7 +122,14 @@
{
for (CacheContainer cacheContainer: cacheContainers)
{
- cacheContainer.stop();
+ try
+ {
+ cacheContainer.stop();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace(System.err);
+ }
}
for (String path : cleanupPaths)
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -31,6 +31,7 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.servlet.ServletException;
@@ -49,12 +50,14 @@
import org.infinispan.config.Configuration;
import org.infinispan.config.Configuration.CacheMode;
import org.infinispan.config.GlobalConfiguration;
+import org.infinispan.lifecycle.ComponentStatus;
import org.infinispan.loaders.CacheLoaderConfig;
import org.infinispan.loaders.file.FileCacheStoreConfig;
import org.infinispan.manager.CacheContainer;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.remoting.transport.Address;
+import org.infinispan.transaction.tm.BatchModeTransactionManager;
import org.infinispan.util.concurrent.IsolationLevel;
import org.jboss.ha.ispn.DefaultCacheContainer;
import org.jboss.logging.Logger;
@@ -134,59 +137,172 @@
return manager;
}
+
+ private static volatile int containerIndex = 1;
public static EmbeddedCacheManager createCacheContainer(boolean local, String passivationDir, boolean totalReplication, boolean purgeCacheLoader) throws Exception
{
- GlobalConfiguration globalConfig = local ? GlobalConfiguration.getNonClusteredDefault() : GlobalConfiguration.getClusteredDefault();
- globalConfig.setClusterName("testing");
- globalConfig.setStrictPeerToPeer(false);
+ GlobalConfiguration global = local ? GlobalConfiguration.getNonClusteredDefault() : GlobalConfiguration.getClusteredDefault();
+ global.setClusterName("testing");
+ global.setCacheManagerName("container" + containerIndex++);
+ global.setStrictPeerToPeer(false);
- Configuration defaultConfig = new Configuration();
- defaultConfig.setInvocationBatchingEnabled(true);
- defaultConfig.setIsolationLevel(IsolationLevel.REPEATABLE_READ);
- defaultConfig.setSyncReplTimeout(20000);
- defaultConfig.setLockAcquisitionTimeout(15000);
- defaultConfig.setCacheMode(local ? CacheMode.LOCAL : (totalReplication ? CacheMode.REPL_SYNC : CacheMode.DIST_SYNC));
+ Configuration config = new Configuration();
+ config.setInvocationBatchingEnabled(true);
+ config.setIsolationLevel(IsolationLevel.REPEATABLE_READ);
+ config.setSyncReplTimeout(20000);
+ config.setLockAcquisitionTimeout(15000);
+ config.setCacheMode(local ? CacheMode.LOCAL : (totalReplication ? CacheMode.REPL_SYNC : CacheMode.DIST_SYNC));
- CacheMode mode = defaultConfig.getCacheMode();
- defaultConfig.setFetchInMemoryState(mode.isReplicated());
+ CacheMode mode = config.getCacheMode();
+ config.setFetchInMemoryState(mode.isReplicated());
+
// Block for commits -- no races between test driver and replication
- defaultConfig.setSyncCommitPhase(true);
- defaultConfig.setSyncRollbackPhase(true);
+ config.setSyncCommitPhase(true);
+ config.setSyncRollbackPhase(true);
if (passivationDir != null)
{
CacheLoaderManagerConfig managerConfig = new CacheLoaderManagerConfig();
managerConfig.setPassivation(true);
- managerConfig.setPreload(true);
+ managerConfig.setPreload(!purgeCacheLoader);
FileCacheStoreConfig fileConfig = new FileCacheStoreConfig();
fileConfig.setLocation(passivationDir);
- fileConfig.setFetchPersistentState(!mode.isDistributed());
+ fileConfig.setFetchPersistentState(mode.isReplicated());
fileConfig.setPurgeOnStartup(purgeCacheLoader);
managerConfig.setCacheLoaderConfigs(Collections.<CacheLoaderConfig>singletonList(fileConfig));
- defaultConfig.setCacheLoaderManagerConfig(managerConfig);
+ config.setCacheLoaderManagerConfig(managerConfig);
}
- EmbeddedCacheManager container = new DefaultCacheManager(globalConfig, defaultConfig, false);
+ final EmbeddedCacheManager sessionContainer = new DefaultCacheManager(global, config, false);
- if (mode.isDistributed())
+ global = local ? GlobalConfiguration.getNonClusteredDefault() : GlobalConfiguration.getClusteredDefault();
+ global.setClusterName("testing-jvmroute");
+ global.setCacheManagerName("container" + containerIndex++);
+ global.setStrictPeerToPeer(false);
+
+ config = new Configuration();
+ config.setInvocationBatchingEnabled(true);
+ config.setIsolationLevel(IsolationLevel.REPEATABLE_READ);
+ config.setSyncReplTimeout(20000);
+ config.setLockAcquisitionTimeout(15000);
+ config.setCacheMode(CacheMode.REPL_SYNC);
+ config.setFetchInMemoryState(true);
+ config.setSyncCommitPhase(true);
+ config.setSyncRollbackPhase(true);
+
+ final EmbeddedCacheManager jvmRouteContainer = new DefaultCacheManager(global, config, false);
+
+ return new EmbeddedCacheManager()
{
- Configuration config = new Configuration();
- config.setCacheMode(CacheMode.REPL_ASYNC);
- config.setFetchInMemoryState(true);
- CacheLoaderManagerConfig managerConfig = new CacheLoaderManagerConfig();
- managerConfig.setCacheLoaderConfigs(Collections.<CacheLoaderConfig>emptyList());
- managerConfig.setPassivation(false);
- config.setCacheLoaderManagerConfig(managerConfig);
+ @Override
+ public <K, V> Cache<K, V> getCache()
+ {
+ return sessionContainer.getCache();
+ }
- container.defineConfiguration("jboss.web", config);
- }
-
- return new DefaultCacheContainer(container);
+ @Override
+ public <K, V> Cache<K, V> getCache(String cacheName)
+ {
+ return cacheName.equals("jboss.web") ? jvmRouteContainer.<K, V>getCache() : sessionContainer.<K, V>getCache(cacheName);
+ }
+
+ @Override
+ public void start()
+ {
+ jvmRouteContainer.start();
+ sessionContainer.start();
+ }
+
+ @Override
+ public void stop()
+ {
+ sessionContainer.stop();
+ jvmRouteContainer.stop();
+ }
+
+ @Override
+ public void addListener(Object listener)
+ {
+ sessionContainer.addListener(listener);
+ }
+
+ @Override
+ public void removeListener(Object listener)
+ {
+ sessionContainer.removeListener(listener);
+ }
+
+ @Override
+ public Set<Object> getListeners()
+ {
+ return sessionContainer.getListeners();
+ }
+
+ @Override
+ public Configuration defineConfiguration(String cacheName, Configuration configurationOverride)
+ {
+ return sessionContainer.defineConfiguration(cacheName, configurationOverride);
+ }
+
+ @Override
+ public Configuration defineConfiguration(String cacheName, String templateCacheName, Configuration configurationOverride)
+ {
+ return sessionContainer.defineConfiguration(cacheName, templateCacheName, configurationOverride);
+ }
+
+ @Override
+ public String getClusterName()
+ {
+ return sessionContainer.getClusterName();
+ }
+
+ @Override
+ public List<Address> getMembers()
+ {
+ return sessionContainer.getMembers();
+ }
+
+ @Override
+ public Address getAddress()
+ {
+ return sessionContainer.getAddress();
+ }
+
+ @Override
+ public boolean isCoordinator()
+ {
+ return sessionContainer.isCoordinator();
+ }
+
+ @Override
+ public ComponentStatus getStatus()
+ {
+ return sessionContainer.getStatus();
+ }
+
+ @Override
+ public GlobalConfiguration getGlobalConfiguration()
+ {
+ return sessionContainer.getGlobalConfiguration();
+ }
+
+ @Override
+ public Configuration getDefaultConfiguration()
+ {
+ return sessionContainer.getDefaultConfiguration();
+ }
+
+ @Override
+ public Set<String> getCacheNames()
+ {
+ return sessionContainer.getCacheNames();
+ }
+ };
}
public static void setupContainer(String warName, String jvmRoute, Manager mgr)
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/ENCAnnotationsManagedBean.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/ENCAnnotationsManagedBean.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/ENCAnnotationsManagedBean.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -63,13 +63,13 @@
mappedName="jbosstest/ejbs/UnsecuredEJB")
StatelessSessionHome sshome;
@EJB(name="ejb/CtsBmp", beanInterface=EntityHome.class,
- mappedName="jbosstest/ejbs/CtsBmp")
+ mappedName="ejbcts/BMPBean")
EntityHome entityHome;
@EJB(name="ejb/local/bean3", beanInterface=StatelessSessionLocalHome.class,
mappedName="jbosstest/ejbs/local/ENCBean1")
StatelessSessionLocalHome localHome;
- @Resource(name="url/JBossHome", mappedName="http://www.jboss.org")
+ @Resource(name="url/JBossHome", mappedName="java:SomeWebSite")
java.net.URL url;
@Resource(name="Ints/i0", mappedName="0")
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/SimpleManagedBean.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/SimpleManagedBean.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/jsf/managed/SimpleManagedBean.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -47,7 +47,7 @@
@EJB
SimpleLocal simpleLocal;
- @Resource(name = "url/Injection", mappedName = "http://jboss.org")
+ @Resource(name = "url/Injection", mappedName = "java:SomeWebSite")
private java.net.URL url;
/**
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -21,30 +21,16 @@
*/
package org.jboss.test.mdb.test;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.QueueConnection;
-import javax.jms.QueueConnectionFactory;
-import javax.jms.QueueSender;
-import javax.jms.QueueSession;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-import javax.jms.TopicConnection;
-import javax.jms.TopicConnectionFactory;
-import javax.jms.TopicPublisher;
-import javax.jms.TopicSession;
-import javax.management.ObjectName;
+import javax.jms.*;
import javax.naming.NamingException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
import org.jboss.test.JBossJMSTestCase;
-import org.jboss.test.JBossTestCase;
import org.jboss.test.JBossTestSetup;
import org.jboss.test.mdb.bean.CustomMessage;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
/**
* Some simple tests of MDB. These could be much more elaborated.
* These are also largely useless as they don't validate that the mdb
@@ -277,17 +263,14 @@
protected void setUp() throws Exception
{
super.setUp();
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
MDBUnitTestCase.deployQueue("testObjectMessage");
- deploy(loader.getResource("hornetq/hornetq-jms.xml").toString());
- deploy(loader.getResource("hornetq/hornetq-queues.xml").toString());
+ deploy("hornetq-xmls.jar");
deploy("mdb.jar");
}
protected void tearDown() throws Exception
{
super.tearDown();
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
try
{
undeploy("mdb.jar");
@@ -298,20 +281,12 @@
}
try
{
- undeploy(loader.getResource("hornetq/hornetq-jms.xml").toString());
+ undeploy("hornetq-xmls.jar");
}
catch (Exception ignored)
{
- getLog().warn("Unable to undeploy hornetq/hornetq-jms.xml", ignored);
+ getLog().warn("Unable to undeploy hornetq-xmls.jar", ignored);
}
- try
- {
- undeploy(loader.getResource("hornetq/hornetq-queues.xml").toString());
- }
- catch (Exception ignored)
- {
- getLog().warn("Unable to undeploy hornetq/hornetq-jms.xml", ignored);
- }
MDBUnitTestCase.undeployDestinations();
}
};
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/ENCTester.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/ENCTester.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/ENCTester.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -117,7 +117,7 @@
private void testEjbRefs(Context initCtx, Context myEnv) throws NamingException
{
//do lookup on bean specified without ejb-link
- Object ejb = initCtx.lookup("java:comp/env/ejb/bean3");
+ Object ejb = initCtx.lookup("ejb/bean3");
if ((ejb instanceof StatelessSessionHome) == false)
throw new NamingException("ejb/bean3 is not a StatelessSessionHome");
log.debug("ejb/bean3 = " + ejb);
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -21,10 +21,6 @@
*/
package org.jboss.test.web.servlets;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Date;
-
import javax.annotation.Resource;
import javax.annotation.Resources;
import javax.ejb.EJB;
@@ -36,6 +32,10 @@
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Date;
+
import org.jboss.logging.Logger;
import org.jboss.test.web.mock.EntityHome;
import org.jboss.test.web.mock.StatelessSessionHome;
@@ -77,7 +77,7 @@
mappedName="jbosstest/ejbs/local/ENCBean1")
StatelessSessionLocalHome localHome;
- @Resource(name="url/JBossHome", mappedName="http://www.jboss.org")
+ @Resource(name="url/JBossHome", mappedName="java:SomeWebSite")
java.net.URL url;
@Resource(name="Ints/i0", mappedName="0")
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/channelfactory/stacks.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/channelfactory/stacks.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/channelfactory/stacks.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -56,7 +56,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -116,7 +117,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -175,7 +177,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -234,7 +237,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -284,7 +288,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -332,7 +337,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -391,7 +397,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/drm/drm-test-stacks.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/drm/drm-test-stacks.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/drm/drm-test-stacks.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -27,7 +27,8 @@
shun="false"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<pbcast.STATE_TRANSFER/>
<pbcast.FLUSH timeout="0"/>
@@ -57,7 +58,8 @@
shun="false"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<pbcast.STATE_TRANSFER/>
<pbcast.FLUSH timeout="0"/>
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -56,7 +56,9 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
+
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
@@ -128,7 +130,8 @@
shun="true"
view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FC max_credits="2000000" min_threshold="0.10"/>
+ <UFC max_credits="2000000"/>
+ <MFC max_credits="2000000"/>
<FRAG2 frag_size="60000"/>
<!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
<pbcast.STATE_TRANSFER/>
Copied: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/refs/resources/hornetq-jms.xml (from rev 109413, trunk/testsuite/src/resources/refs/resources/hornetq-jms.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/refs/resources/hornetq-jms.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/refs/resources/hornetq-jms.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
+
+ <queue name="testQueue">
+ <entry name="queue/testQueue" />
+ </queue>
+
+ <topic name="testTopic">
+ <entry name="topic/testTopic"/>
+ </topic>
+
+</configuration>
Copied: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/META-INF/hornetq-jms.xml (from rev 109413, trunk/testsuite/src/resources/web/META-INF/hornetq-jms.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/META-INF/hornetq-jms.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/META-INF/hornetq-jms.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
+
+ <queue name="testQueue">
+ <entry name="queue/testQueue" />
+ </queue>
+
+ <queue name="A">
+ <entry name="queue/A" />
+ </queue>
+
+ <queue name="MockQueueA">
+ <entry name="MockQueueA" />
+ </queue>
+
+ <queue name="MockQueueB">
+ <entry name="MockQueueB" />
+ </queue>
+
+ <topic name="MockTopicA">
+ <entry name="MockTopicA"/>
+ </topic>
+
+ <topic name="testTopic">
+ <entry name="topic/testTopic"/>
+ </topic>
+
+</configuration>
Copied: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/html/jbosstest/WEB-INF/jboss-service.xml (from rev 109413, trunk/testsuite/src/resources/web/html/jbosstest/WEB-INF/jboss-service.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/html/jbosstest/WEB-INF/jboss-service.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/html/jbosstest/WEB-INF/jboss-service.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mbean code="org.jboss.naming.JNDIBindingServiceMgr" name="jboss.apps:name=myapp">
+ <attribute name="BindingsConfig" serialDataType="jbxb">
+ <jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
+ xs:schemaLocation="urn:jboss:jndi-binding-service resource:jndi-binding-service_1_0.xsd">
+ <!-- bind to java:SomeWebSite jndi name which is referenced in jboss-web.xml
+ via a resource-ref entry -->
+ <jndi:binding name="java:SomeWebSite">
+ <jndi:value type="java.net.URL">http://www.jboss.org</jndi:value>
+ </jndi:binding>
+
+ </jndi:bindings>
+ </attribute>
+</mbean>
Copied: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/jsfinjection/WEB-INF/jboss-service.xml (from rev 109413, trunk/testsuite/src/resources/web/jsfinjection/WEB-INF/jboss-service.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/jsfinjection/WEB-INF/jboss-service.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/jsfinjection/WEB-INF/jboss-service.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mbean code="org.jboss.naming.JNDIBindingServiceMgr" name="jboss.apps:name=myapp">
+ <attribute name="BindingsConfig" serialDataType="jbxb">
+ <jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
+ xs:schemaLocation="urn:jboss:jndi-binding-service resource:jndi-binding-service_1_0.xsd">
+ <!-- bind to java:SomeWebSite jndi name which is referenced in jboss-web.xml
+ via a resource-ref entry -->
+ <jndi:binding name="java:SomeWebSite">
+ <jndi:value type="java.net.URL">http://www.jboss.org</jndi:value>
+ </jndi:binding>
+
+ </jndi:bindings>
+ </attribute>
+</mbean>
Modified: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/encbinding-jboss-beans.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/encbinding-jboss-beans.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/encbinding-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -25,7 +25,7 @@
<annotation>@org.jboss.aop.microcontainer.aspects.jndi.JndiBinding(name="jbosstest/ejbs/local/ENCBean1")</annotation>
</bean>
<bean name="ENC/ejb/CtsBmp" class="org.jboss.test.web.mock.EntityHomeBean">
- <annotation>@org.jboss.aop.microcontainer.aspects.jndi.JndiBinding(name="jbosstest/ejbs/CtsBmp")</annotation>
+ <annotation>@org.jboss.aop.microcontainer.aspects.jndi.JndiBinding(name="ejbcts/BMPBean")</annotation>
</bean>
<bean name="ENC/mdr/ConsumesProducesJNDIName" class="org.jboss.test.web.mock.QueueBean">
Copied: branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml (from rev 109413, trunk/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mbean code="org.jboss.naming.JNDIBindingServiceMgr" name="jboss.apps:name=myapp">
+ <attribute name="BindingsConfig" serialDataType="jbxb">
+ <jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
+ xs:schemaLocation="urn:jboss:jndi-binding-service resource:jndi-binding-service_1_0.xsd">
+ <!-- bind to java:SomeWebSite jndi name which is referenced in jboss-web.xml
+ via a resource-ref entry -->
+ <jndi:binding name="java:SomeWebSite">
+ <jndi:value type="java.net.URL">http://www.jboss.org</jndi:value>
+ </jndi:binding>
+
+ </jndi:bindings>
+ </attribute>
+</mbean>
Modified: branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -38,7 +38,6 @@
import java.util.Set;
import javax.naming.Context;
-import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.servlet.Filter;
@@ -55,6 +54,8 @@
import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
import org.jboss.ejb3.javaee.AbstractJavaEEComponent;
import org.jboss.ejb3.javaee.SimpleJavaEEModule;
+import org.jboss.ejb3.vfs.impl.vfs3.VirtualFileWrapper;
+import org.jboss.ejb3.vfs.spi.VirtualFile;
import org.jboss.injection.DependsHandler;
import org.jboss.injection.EncInjector;
import org.jboss.injection.ExtendedInjectionContainer;
@@ -62,19 +63,16 @@
import org.jboss.injection.Injector;
import org.jboss.injection.PersistenceContextHandler;
import org.jboss.injection.PersistenceUnitHandler;
+import org.jboss.injection.manager.spi.InjectionManager;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.logging.Logger;
import org.jboss.metadata.javaee.spec.Environment;
import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.ejb3.vfs.spi.VirtualFile;
-import org.jboss.ejb3.vfs.impl.vfs3.VirtualFileWrapper;
import org.jboss.reloaded.naming.spi.JavaEEComponent;
import org.jboss.web.WebApplication;
import org.jboss.web.tomcat.service.injection.TomcatInjectionUtils;
import org.jboss.web.tomcat.service.injection.WebEJBHandler;
-import org.jboss.web.tomcat.service.injection.WebResourceHandler;
-import org.jboss.web.tomcat.service.injection.WebServiceRefInjectionHandler;
/**
* The TomcatInjectionContainer.
@@ -142,9 +140,13 @@
private static final Properties restrictedFilters = new Properties();
private static final Properties restrictedListeners = new Properties();
private static final Properties restrictedServlets = new Properties();
- private List<Injector> defaultInjectors;
// the naming component counter-part
private JavaEEComponent component;
+
+ /**
+ * Injection Manager
+ */
+ private InjectionManager injectionManager;
static
@@ -201,7 +203,7 @@
}
public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit, org.apache.catalina.Context catalinaContext,
- PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders, JavaEEComponent component)
+ PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders, JavaEEComponent component, InjectionManager injectionManager)
{
super(new SimpleJavaEEModule(appInfo.getName()));
@@ -219,13 +221,10 @@
assert this.webDD != null : "webDD is null (no JBossWebMetaData attachment in VFSDeploymentUnit)";
this.component = component;
+ this.injectionManager = injectionManager;
}
+
- public void setDefaultInjectors(List<Injector> injectors)
- {
- this.defaultInjectors = Collections.unmodifiableList(injectors);
- }
-
private void checkAccess(Class<?> clazz)
{
if (catalinaContext.getPrivileged())
@@ -372,28 +371,36 @@
{
final boolean trace = log.isTraceEnabled();
- final ArrayList<Injector> allInjectors = new ArrayList<Injector>();
Map<AccessibleObject, Injector> injectors = getEncInjectionsForObject(object);
- if (injectors != null && injectors.size() > 0)
+ if (injectors == null || injectors.size() == 0)
{
- allInjectors.addAll(injectors.values());
+ if (trace)
+ {
+ log.trace("-- no injectors found for: " + object);
+ }
}
- if (defaultInjectors != null && defaultInjectors.size() > 0)
+ else
{
- allInjectors.addAll(defaultInjectors);
- }
- if (allInjectors.size() == 0)
- {
if (trace)
- log.trace("-- no injectors found for: " + object);
- return;
+ {
+ log.trace("-- doing injections for: " + object);
+ }
+ for (Injector injector : injectors.values())
+ {
+ injector.inject(object);
+ }
}
+ // TODO: Ultimately, once the injection is completely
+ // managed by InjectionManager, we should get rid of all other injectors
+ // used in this method (maybe except for "defaultInjectors") and instead
+ // just use the InjectionManager
+ // Use the InjectionManager
if (trace)
- log.trace("-- doing injections for: " + object);
- for (Injector injector : allInjectors)
{
- injector.inject(object);
+ log.trace("-- processing InjectionManager for : " + object);
}
+ this.injectionManager.inject(object);
+
}
/**
@@ -481,7 +488,7 @@
return injectors;
}
-
+
/**
* Check if the class is a dynamic bean.
*
@@ -562,7 +569,8 @@
{
// TODO injection handlers should be pluggable from XML
handlers = new ArrayList<InjectionHandler<Environment>>();
- try {
+ try
+ {
InjectionHandler<Environment> webEjbHandler = new WebEJBHandler<Environment>(webDD, deploymentEndpointResolver, endpointMap, unit.getRelativePath());
handlers.add(webEjbHandler);
}
@@ -570,6 +578,7 @@
{
log.debug("EJB injection disabled", e);
}
+
handlers.add(new DependsHandler<Environment>());
try
{
@@ -580,15 +589,6 @@
{
log.debug("JPA injection disabled", e);
}
- handlers.add(new WebResourceHandler<Environment>());
- try
- {
- handlers.add(new WebServiceRefInjectionHandler<Environment>());
- }
- catch (NoClassDefFoundError e)
- {
- log.debug("WS injection disabled", e);
- }
ClassLoader old = Thread.currentThread().getContextClassLoader();
ClassLoader webLoader = getClassloader();
Modified: branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -29,6 +29,7 @@
import org.jboss.mx.util.ObjectNameFactory;
import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
import org.jboss.security.plugins.JaasSecurityManagerServiceMBean;
+import org.jboss.switchboard.spi.Barrier;
import org.jboss.web.deployers.AbstractWarDeployer;
import org.jboss.web.deployers.AbstractWarDeployment;
@@ -130,6 +131,7 @@
{
this.componentInformer = componentInformer;
setInputs(componentInformer.getRequiredAttachments());
+ addInput(Barrier.class);
}
public String getName()
Modified: branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -30,11 +30,9 @@
import org.apache.tomcat.util.modeler.Registry;
import org.jboss.beans.metadata.api.annotations.Inject;
import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.injection.Injector;
import org.jboss.logging.Logger;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.spec.TldMetaData;
@@ -69,7 +67,6 @@
import java.security.CodeSource;
import java.security.cert.Certificate;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -198,24 +195,8 @@
TomcatInjectionContainer injectionContainer =
new TomcatInjectionContainer(webApp, depUnit, context,
- getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders(), component);
+ getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders(), component, this.getInjectionManager());
- if (kernel != null)
- {
- // Look for a WBInjector bean defined for the current deployment unit. If not found, check the parent.
- DeploymentUnit inspectedUnit = unit;
- ControllerContext injectorControllerContext = null;
- while (inspectedUnit != null && injectorControllerContext == null)
- {
- injectorControllerContext = kernel.getController().getContext(inspectedUnit.getName() + "_WBInjector", ControllerState.INSTANTIATED);
- inspectedUnit = inspectedUnit.getParent();
- }
- if (injectorControllerContext != null)
- {
- injectionContainer.setDefaultInjectors(Collections.singletonList((Injector)injectorControllerContext.getTarget()));
- }
- }
-
Loader webLoader = depUnit.getAttachment(Loader.class);
if (webLoader == null)
webLoader = getWebLoader(depUnit, metaData, loader, warUrl, injectionContainer);
@@ -414,8 +395,8 @@
// TODO: The enc should be an input?
currentThread.setContextClassLoader(webLoader.getClassLoader());
metaData.setENCLoader(webLoader.getClassLoader());
- Context envCtx = component.getContext();
- // Add ORB/UserTransaction
+ Context javaCompCtx = component.getContext();
+// // Add ORB/UserTransaction
ORB orb = null;
try
{
@@ -424,7 +405,7 @@
// Bind the orb
if (orb != null)
{
- NonSerializableFactory.rebind(envCtx, "ORB", orb);
+ NonSerializableFactory.rebind(javaCompCtx, "ORB", orb);
log.debug("Bound java:comp/ORB");
}
}
@@ -434,18 +415,18 @@
}
// JTA links
- envCtx.bind("TransactionSynchronizationRegistry", new LinkRef("java:TransactionSynchronizationRegistry"));
+ javaCompCtx.bind("TransactionSynchronizationRegistry", new LinkRef("java:TransactionSynchronizationRegistry"));
log.debug("Linked java:comp/TransactionSynchronizationRegistry to JNDI name: java:TransactionSynchronizationRegistry");
- envCtx.bind("UserTransaction", new LinkRef("UserTransaction"));
+ javaCompCtx.bind("UserTransaction", new LinkRef("UserTransaction"));
log.debug("Linked java:comp/UserTransaction to JNDI name: UserTransaction");
- envCtx = envCtx.createSubcontext("env");
+ //envCtx = envCtx.createSubcontext("env");
injectionContainer.populateEnc(webLoader.getClassLoader());
// TODO: this should be bindings in the metadata
currentThread.setContextClassLoader(webLoader.getClassLoader());
String securityDomain = metaData.getSecurityDomain();
log.debug("linkSecurityDomain");
- linkSecurityDomain(securityDomain, envCtx);
+ linkSecurityDomain(securityDomain, javaCompCtx);
}
catch (Throwable t)
Modified: branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/injection/WebResourceHandler.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/injection/WebResourceHandler.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/tomcat/src/main/java/org/jboss/web/tomcat/service/injection/WebResourceHandler.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -33,7 +33,6 @@
import javax.annotation.Resources;
import javax.ejb.EJBContext;
import javax.ejb.EJBException;
-import javax.ejb.SessionContext;
import javax.ejb.TimerService;
import javax.transaction.UserTransaction;
import javax.xml.ws.WebServiceContext;
@@ -300,18 +299,18 @@
for (MessageDestinationReferenceMetaData envRef : refs)
{
String encName = "env/" + envRef.getMessageDestinationRefName();
- if (container.getEncInjectors().containsKey(encName))
- continue;
- String jndiName = envRef.getMappedName();
- if (jndiName == null || jndiName.equals(""))
- {
- jndiName = envRef.getResolvedJndiName();
- if (jndiName == null || jndiName.equals(""))
- throw new RuntimeException("mapped-name is required for " + envRef.getMessageDestinationRefName()
- + " of deployment " + container.getIdentifier());
- }
- container.getEncInjectors().put(encName,
- new LinkRefEncInjector(encName, jndiName, "<message-destination-ref>"));
+// if (container.getEncInjectors().containsKey(encName))
+// continue;
+// String jndiName = envRef.getMappedName();
+// if (jndiName == null || jndiName.equals(""))
+// {
+// jndiName = envRef.getResolvedJndiName();
+// if (jndiName == null || jndiName.equals(""))
+// throw new RuntimeException("mapped-name is required for " + envRef.getMessageDestinationRefName()
+// + " of deployment " + container.getIdentifier());
+// }
+// container.getEncInjectors().put(encName,
+// new LinkRefEncInjector(encName, jndiName, "<message-destination-ref>"));
InjectionUtil.injectionTarget(encName, envRef, container, container.getEncInjections());
}
}
@@ -322,12 +321,12 @@
return;
if (xml.getMessageDestinationReferences() != null)
loadXmlMessageDestinationRefs(container, xml.getMessageDestinationReferences());
- if (xml.getResourceEnvironmentReferences() != null)
- loadXmlResourceEnvRefs(container, xml.getResourceEnvironmentReferences());
+// if (xml.getResourceEnvironmentReferences() != null)
+// loadXmlResourceEnvRefs(container, xml.getResourceEnvironmentReferences());
if (xml.getResourceReferences() != null)
loadXmlResourceRefs(container, xml.getResourceReferences());
- if (xml.getEnvironmentEntries() != null)
- loadEnvEntry(container, xml.getEnvironmentEntries());
+// if (xml.getEnvironmentEntries() != null)
+// loadEnvEntry(container, xml.getEnvironmentEntries());
}
public void handleClassAnnotations(Class<?> clazz, InjectionContainer container)
Modified: branches/JBoss-AS-6.0.x_ipv6/webservices/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/webservices/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/webservices/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -24,6 +24,39 @@
</resources>
<plugins>
<plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <showDeprecation>false</showDeprecation>
+ <compilerArguments>
+ <endorseddirs>${project.build.directory}/endorsed</endorseddirs>
+ </compilerArguments>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.spec.javax.xml.ws</groupId>
+ <artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/endorsed</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
@@ -83,6 +116,14 @@
</dependency>
<!-- jboss provided dependencies -->
<dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-javaee</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.jboss.spec.javax.xml.ws</groupId>
<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
<scope>provided</scope>
Copied: branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java (from rev 109413, trunk/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,425 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.injection;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import javax.naming.Referenceable;
+import javax.xml.namespace.QName;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.switchboard.javaee.environment.Addressing;
+import org.jboss.switchboard.javaee.environment.Handler;
+import org.jboss.switchboard.javaee.environment.HandlerChain;
+import org.jboss.switchboard.javaee.environment.PortComponent;
+import org.jboss.switchboard.javaee.environment.ServiceRefType;
+import org.jboss.switchboard.javaee.jboss.environment.JBossPortComponent;
+import org.jboss.switchboard.javaee.jboss.environment.JBossServiceRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+import org.jboss.wsf.common.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedStubPropertyMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+
+/**
+ * Service reference resource provider.
+ *
+ * Conventions used in this source code are:
+ * <ul>
+ * <li>SBMD - switch board meta data</li>
+ * <li>UMDM - jbossws unified meta data model</li>
+ * </ul>
+ *
+ * @author alessio.soldano at jboss.com
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ */
+public final class ServiceRefResourceProvider implements MCBasedResourceProvider<ServiceRefType>
+{
+
+ private static final Logger log = Logger.getLogger(ServiceRefResourceProvider.class);
+
+ private ServiceRefHandler delegate;
+
+ /**
+ * Constructor.
+ */
+ public ServiceRefResourceProvider()
+ {
+ final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ this.delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+ }
+
+ /**
+ * Provides service ref resource.
+ */
+ @Override
+ public Resource provide(final DeploymentUnit deploymentUnit, final ServiceRefType serviceRefSBMD)
+ {
+ final UnifiedVirtualFile vfsRoot = this.getUnifiedVirtualFile(deploymentUnit);
+ final UnifiedServiceRefMetaData serviceRefUMDM = this.getUnifiedServiceRefMetaData(vfsRoot, serviceRefSBMD);
+ final Referenceable jndiReferenceable = this.delegate.createReferenceable(serviceRefUMDM);
+
+ return new ServiceRefResource(jndiReferenceable);
+ }
+
+ /**
+ * Inform about type this resource handler can handle.
+ *
+ * @return handled type
+ */
+ @Override
+ public Class<ServiceRefType> getEnvironmentEntryType()
+ {
+ return ServiceRefType.class;
+ }
+
+ /**
+ * Constructs vfs root from deployment unit.
+ *
+ * @param deploymentUnit
+ * @return vfs root
+ */
+ private UnifiedVirtualFile getUnifiedVirtualFile(final DeploymentUnit deploymentUnit)
+ {
+ if (deploymentUnit instanceof VFSDeploymentUnit)
+ {
+ return new VirtualFileAdaptor(((VFSDeploymentUnit) deploymentUnit).getRoot());
+ }
+ else
+ {
+ return new ResourceLoaderAdapter(deploymentUnit.getClassLoader());
+ }
+ }
+
+ /**
+ * Translates service ref switchboard meta data to JBossWS unified service ref meta data.
+ *
+ * @param vfsRoot virtual file system root
+ * @param serviceRefSBMD service reference switchboard meta data
+ * @return unified jbossws service reference meta data
+ */
+ private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(final UnifiedVirtualFile vfsRoot,
+ final ServiceRefType serviceRefSBMD)
+ {
+ final UnifiedServiceRefMetaData serviceRefUMDM = new UnifiedServiceRefMetaData(vfsRoot);
+ serviceRefUMDM.setServiceRefName(serviceRefSBMD.getName());
+ serviceRefUMDM.setServiceRefType(serviceRefSBMD.getType());
+ serviceRefUMDM.setServiceInterface(serviceRefSBMD.getServiceInterface());
+ serviceRefUMDM.setWsdlFile(serviceRefSBMD.getWsdlFile());
+ serviceRefUMDM.setMappingFile(serviceRefSBMD.getMappingFile());
+ serviceRefUMDM.setServiceQName(serviceRefSBMD.getQName());
+ serviceRefUMDM.setHandlerChain(serviceRefSBMD.getHandlerChain());
+
+ // propagate addressing properties
+ serviceRefUMDM.setAddressingEnabled(serviceRefSBMD.isAddressingEnabled());
+ serviceRefUMDM.setAddressingRequired(serviceRefSBMD.isAddressingRequired());
+ serviceRefUMDM.setAddressingResponses(serviceRefSBMD.getAddressingResponses());
+
+ // propagate MTOM properties
+ serviceRefUMDM.setMtomEnabled(serviceRefSBMD.isMtomEnabled());
+ serviceRefUMDM.setMtomThreshold(serviceRefSBMD.getMtomThreshold());
+
+ // propagate respect binding properties
+ serviceRefUMDM.setRespectBindingEnabled(serviceRefSBMD.isRespectBindingEnabled());
+
+ // propagate port compoments
+ final Collection<? extends PortComponent> portComponentsSBMD = serviceRefSBMD.getPortComponents();
+ if (portComponentsSBMD != null)
+ {
+ for (final PortComponent portComponentSBMD : portComponentsSBMD)
+ {
+ final UnifiedPortComponentRefMetaData portComponentUMDM = this.getUnifiedPortComponentRefMetaData(
+ serviceRefUMDM, portComponentSBMD);
+ if (portComponentUMDM.getServiceEndpointInterface() != null || portComponentUMDM.getPortQName() != null)
+ {
+ serviceRefUMDM.addPortComponentRef(portComponentUMDM);
+ }
+ else
+ {
+ log.warn("Ignoring <port-component-ref> without <service-endpoint-interface> and <port-qname>: "
+ + portComponentUMDM);
+ }
+ }
+ }
+
+ // propagate handlers
+ final Collection<Handler> handlersSBMD = serviceRefSBMD.getHandlers();
+ if (handlersSBMD != null)
+ {
+ for (final Handler handlerSBMD : handlersSBMD)
+ {
+ final UnifiedHandlerMetaData handlerUMDM = this.getUnifiedHandlerMetaData(handlerSBMD);
+ serviceRefUMDM.addHandler(handlerUMDM);
+ }
+ }
+
+ // propagate handler chains
+ final List<HandlerChain> handlerChainsSBMD = serviceRefSBMD.getHandlerChains();
+ if (handlerChainsSBMD != null)
+ {
+ final UnifiedHandlerChainsMetaData handlerChainsUMDM = this.getUnifiedHandlerChainsMetaData(handlerChainsSBMD);
+ serviceRefUMDM.setHandlerChains(handlerChainsUMDM);
+ }
+
+ // propagate jboss specific MD
+ if (serviceRefSBMD instanceof JBossServiceRefType)
+ {
+ this.processUnifiedJBossServiceRefMetaData(serviceRefUMDM, serviceRefSBMD);
+ }
+
+ return serviceRefUMDM;
+ }
+
+ /**
+ * Translates jboss service ref switchboard meta data to JBossWS unified service ref meta data.
+ *
+ * @param serviceRefUMDM service reference unified meta data
+ * @param serviceRefSBMD service reference switchboard meta data
+ */
+ private void processUnifiedJBossServiceRefMetaData(final UnifiedServiceRefMetaData serviceRefUMDM,
+ final ServiceRefType serviceRefSBMD)
+ {
+ final JBossServiceRefType jbossServiceRefSBMD = (JBossServiceRefType) serviceRefSBMD;
+ serviceRefUMDM.setServiceImplClass(jbossServiceRefSBMD.getServiceClass());
+ serviceRefUMDM.setConfigName(jbossServiceRefSBMD.getConfigName());
+ serviceRefUMDM.setConfigFile(jbossServiceRefSBMD.getConfigFile());
+ serviceRefUMDM.setWsdlOverride(jbossServiceRefSBMD.getWsdlOverride());
+ serviceRefUMDM.setHandlerChain(jbossServiceRefSBMD.getHandlerChain());
+ }
+
+ /**
+ * Translates handler chains switchboard meta data to JBossWS unified handler chains meta data.
+ *
+ * @param handlerChainsSBMD handler chains switchboard meta data
+ * @return handler chains JBossWS unified meta data
+ */
+ private UnifiedHandlerChainsMetaData getUnifiedHandlerChainsMetaData(final List<HandlerChain> handlerChainsSBMD)
+ {
+ final UnifiedHandlerChainsMetaData handlerChainsUMDM = new UnifiedHandlerChainsMetaData();
+
+ for (final HandlerChain handlerChainSBMD : handlerChainsSBMD)
+ {
+ final UnifiedHandlerChainMetaData handlerChainUMDM = new UnifiedHandlerChainMetaData();
+ handlerChainUMDM.setServiceNamePattern(handlerChainSBMD.getServiceNamePattern());
+ handlerChainUMDM.setPortNamePattern(handlerChainSBMD.getPortNamePattern());
+ handlerChainUMDM.setProtocolBindings(handlerChainSBMD.getProtocolBindings());
+
+ final List<Handler> handlersSBMD = handlerChainSBMD.getHandlers();
+ for (final Handler handlerSBMD : handlersSBMD)
+ {
+ final UnifiedHandlerMetaData handlerUMDM = getUnifiedHandlerMetaData(handlerSBMD);
+ handlerChainUMDM.addHandler(handlerUMDM);
+ }
+
+ handlerChainsUMDM.addHandlerChain(handlerChainUMDM);
+ }
+
+ return handlerChainsUMDM;
+ }
+
+ /**
+ * Translates handler switchboard meta data to JBossWS unified handler meta data.
+ *
+ * @param handlerSBMD handler switchboard meta data
+ * @return handler JBossWS unified meta data
+ */
+ private UnifiedHandlerMetaData getUnifiedHandlerMetaData(final Handler handlerSBMD)
+ {
+ final UnifiedHandlerMetaData handlerUMDM = new UnifiedHandlerMetaData();
+ handlerUMDM.setHandlerName(handlerSBMD.getHandlerName());
+ handlerUMDM.setHandlerClass(handlerSBMD.getHandlerClass());
+
+ // translate handler init params
+ final Map<String, String> handlerInitParamsSBMD = handlerSBMD.getInitParams();
+ if (handlerInitParamsSBMD != null)
+ {
+ for (final String initParamName : handlerInitParamsSBMD.keySet())
+ {
+ final UnifiedInitParamMetaData handlerInitParamUMDM = new UnifiedInitParamMetaData();
+ handlerInitParamUMDM.setParamName(initParamName);
+ handlerInitParamUMDM.setParamValue(handlerInitParamsSBMD.get(initParamName));
+ handlerUMDM.addInitParam(handlerInitParamUMDM);
+ }
+ }
+
+ // translate handler soap headers
+ final Collection<QName> handlerSoapHeadersSBDM = handlerSBMD.getSoapHeaders();
+ if (handlerSoapHeadersSBDM != null)
+ {
+ for (final QName soapHeader : handlerSoapHeadersSBDM)
+ {
+ handlerUMDM.addSoapHeader(soapHeader);
+ }
+ }
+
+ // translate handler soap roles
+ final Collection<String> handlerSoapRolesSBMD = handlerSBMD.getSoapRoles();
+ if (handlerSoapRolesSBMD != null)
+ {
+ for (final String soapRole : handlerSoapRolesSBMD)
+ {
+ handlerUMDM.addSoapRole(soapRole);
+ }
+ }
+
+ // translate handler port names
+ final Collection<String> handlerPortNamesSBMD = handlerSBMD.getPortNames();
+ if (handlerPortNamesSBMD != null)
+ {
+ for (final String portName : handlerPortNamesSBMD)
+ {
+ handlerUMDM.addPortName(portName);
+ }
+ }
+
+ return handlerUMDM;
+ }
+
+ /**
+ * Translates port component ref switchboard meta data to JBossWS unified port component ref meta data.
+ *
+ * @param serviceRefUMDM service ref unified meta data
+ * @param portComponentSBMD port component ref switchboard meta data
+ * @return port component ref unified meta data
+ */
+ private UnifiedPortComponentRefMetaData getUnifiedPortComponentRefMetaData(
+ final UnifiedServiceRefMetaData serviceRefUMDM, final PortComponent portComponentSBMD)
+ {
+ final UnifiedPortComponentRefMetaData portComponentUMDM = new UnifiedPortComponentRefMetaData(serviceRefUMDM);
+
+ // propagate service endpoint interface
+ portComponentUMDM.setServiceEndpointInterface(portComponentSBMD.getEndpointInterface());
+
+ // propagate MTOM properties
+ portComponentUMDM.setMtomEnabled(portComponentSBMD.isMtomEnabled());
+ portComponentUMDM.setMtomThreshold(portComponentSBMD.getMtomThreshold());
+
+ // propagate addressing properties
+ final Addressing addressingSBMD = portComponentSBMD.getAddressing();
+ if (addressingSBMD != null)
+ {
+ portComponentUMDM.setAddressingEnabled(addressingSBMD.isEnabled());
+ portComponentUMDM.setAddressingRequired(addressingSBMD.isRequired());
+ portComponentUMDM.setAddressingResponses(addressingSBMD.getResponses());
+ }
+
+ // propagate respect binding properties
+ portComponentUMDM.setRespectBindingEnabled(portComponentSBMD.isRespectBindingEnabled());
+
+ // propagate link
+ portComponentUMDM.setPortComponentLink(portComponentSBMD.getLink());
+
+ // propagate jboss specific MD
+ if (portComponentSBMD instanceof JBossPortComponent)
+ {
+ this.processUnifiedJBossPortComponentRefMetaData(portComponentUMDM, portComponentSBMD);
+ }
+
+ return portComponentUMDM;
+ }
+
+ /**
+ * Translates jboss port component ref switchboard meta data to JBossWS unified port component ref meta data.
+ *
+ * @param portComponentUMDM port component unified meta data
+ * @param portComponentSBMD port component switchboard meta data
+ */
+ private void processUnifiedJBossPortComponentRefMetaData(final UnifiedPortComponentRefMetaData portComponentUMDM,
+ final PortComponent portComponentSBMD)
+ {
+ final JBossPortComponent jbossPortComponentSBMD = (JBossPortComponent) portComponentSBMD;
+
+ // propagate port QName
+ portComponentUMDM.setPortQName(jbossPortComponentSBMD.getPortQName());
+
+ // propagate configuration properties
+ portComponentUMDM.setConfigName(jbossPortComponentSBMD.getConfigName());
+ portComponentUMDM.setConfigFile(jbossPortComponentSBMD.getConfigFile());
+
+ // propagate stub properties
+ final Map<String, String> stubPropertiesSBMD = jbossPortComponentSBMD.getStubProperties();
+ if (stubPropertiesSBMD != null)
+ {
+ for (final String propertyName : stubPropertiesSBMD.keySet())
+ {
+ final UnifiedStubPropertyMetaData stubPropertyUMDM = new UnifiedStubPropertyMetaData();
+ stubPropertyUMDM.setPropName(propertyName);
+ stubPropertyUMDM.setPropValue(stubPropertiesSBMD.get(propertyName));
+ portComponentUMDM.addStubProperty(stubPropertyUMDM);
+ }
+ }
+
+ // propagate call properties
+ final Map<String, String> callPropertiesSBMD = jbossPortComponentSBMD.getCallProperties();
+ if (callPropertiesSBMD != null)
+ {
+ for (final String propertyName : callPropertiesSBMD.keySet())
+ {
+ final UnifiedCallPropertyMetaData callPropertyUMDM = new UnifiedCallPropertyMetaData();
+ callPropertyUMDM.setPropName(propertyName);
+ callPropertyUMDM.setPropValue(callPropertiesSBMD.get(propertyName));
+ portComponentUMDM.addCallProperty(callPropertyUMDM);
+ }
+ }
+ }
+
+ /**
+ * Switchboard service ref resource.
+ */
+ private static final class ServiceRefResource implements Resource
+ {
+ private final Referenceable target;
+
+ private ServiceRefResource(final Referenceable target)
+ {
+ this.target = target;
+ }
+
+ @Override
+ public Object getDependency()
+ {
+ return null;
+ }
+
+ @Override
+ public Object getTarget()
+ {
+ return this.target;
+ }
+ }
+}
Copied: branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/WebServiceContextResourceProvider.java (from rev 109413, trunk/webservices/src/main/java/org/jboss/webservices/integration/injection/WebServiceContextResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/WebServiceContextResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/webservices/src/main/java/org/jboss/webservices/integration/injection/WebServiceContextResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,76 @@
+/*
+ * 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.injection;
+
+import javax.xml.ws.WebServiceContext;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.switchboard.javaee.jboss.environment.JBossResourceEnvRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+import org.jboss.wsf.common.injection.ThreadLocalAwareWebServiceContext;
+
+/**
+ * WebServiceContext resource provider.
+ *
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ */
+public final class WebServiceContextResourceProvider implements MCBasedResourceProvider<JBossResourceEnvRefType>
+{
+
+ @Override
+ public Resource provide(final DeploymentUnit unit, final JBossResourceEnvRefType resEnvRef)
+ {
+ return new WebServiceContextResource(ThreadLocalAwareWebServiceContext.getInstance());
+ }
+
+ @Override
+ public Class<JBossResourceEnvRefType> getEnvironmentEntryType()
+ {
+ return JBossResourceEnvRefType.class;
+ }
+
+ /**
+ * Switchboard web service context resource.
+ */
+ private static final class WebServiceContextResource implements Resource
+ {
+ private final WebServiceContext target;
+
+ private WebServiceContextResource(final WebServiceContext target)
+ {
+ this.target = target;
+ }
+
+ @Override
+ public Object getDependency()
+ {
+ return null;
+ }
+
+ @Override
+ public Object getTarget()
+ {
+ return this.target;
+ }
+ }
+}
Modified: branches/JBoss-AS-6.0.x_ipv6/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -2,6 +2,18 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- processes @WebServiceRef resources and their DD equivalents (EE.5.6 of Java EE6 spec) -->
+ <bean
+ name="org.jboss.switchboard.WebServiceRefResourceProvider"
+ class="org.jboss.webservices.integration.injection.ServiceRefResourceProvider"
+ />
+
+ <!-- processes @Resource annotated WebServiceContext beans (EE.5.6 of Java EE6 spec) -->
+ <bean
+ name="org.jboss.switchboard.WebServiceContextResourceProvider"
+ class="org.jboss.webservices.integration.injection.WebServiceContextResourceProvider"
+ />
+
<!-- Wraps single instance of the kernel -->
<bean name="WSIoCContainerProxy" class="org.jboss.webservices.integration.ioc.IoCContainerProxyImpl">
<property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
@@ -51,11 +63,11 @@
<bean name="WSDescriptorDeployer" class="org.jboss.webservices.integration.deployers.WSDescriptorDeployer">
<incallback method="setProcessor"/>
</bean>
-
+
<bean name="JMSDescriptorDeployer" class="org.jboss.webservices.integration.deployers.JMSDescriptorDeployer">
<incallback method="setProcessor"/>
</bean>
-
+
<bean name="WSEJBAdapterDeployer" class="org.jboss.webservices.integration.deployers.WSEJBAdapterDeployer"/>
<bean name="WSTypeDeployer" class="org.jboss.webservices.integration.deployers.WSTypeDeployer"/>
@@ -72,7 +84,7 @@
<incallback method="addDeployer"/>
<uncallback method="removeDeployer"/>
</bean>
-
+
<!-- The AS specific deployment aspects -->
<bean name="WSContainerMetaDataDeploymentAspect" class="org.jboss.webservices.integration.metadata.ContainerMetaDataDeploymentAspect">
<property name="provides">ContainerMetaData, VFSRoot</property>
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -23,6 +23,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
+ <version>1.4</version>
<executions>
<execution>
<id>core-no-jsf</id>
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -118,8 +118,25 @@
<depends>NameSpaces</depends>
</bean>
- <!-- UNCOMMENT THIS TO ENABLE WELD/MC INJECTION - This feature is currently very experimental and so not enabled by default -->
+ <!--<!– UNCOMMENT THIS TO ENABLE WELD/MC INJECTION - This feature is currently very experimental and so not enabled by default –>-->
<!-- Adds plugin to BeanMetaDataDeployer that installs WeldKernelControllerContexts -->
<!-- bean name="WeldBeanMetaDataDeployerPlugin" class="org.jboss.weld.integration.deployer.mc.WeldBeanMetaDataDeployerPlugin"/ -->
+ <!-- BeanInstantiatorDeployer supporting CDI constructor injection -->
+ <bean name="org.jboss.ejb3.BeanInstantiatorDeployer" class="org.jboss.weld.integration.instantiator.RedirectingBeanInstantiatorDeployer">
+ <constructor>
+ <parameter class="org.jboss.ejb3.instantiator.spi.BeanInstantiator"><inject bean="org.jboss.ejb3.BeanInstantiator"/></parameter>
+ <parameter class="org.jboss.kernel.Kernel"><inject bean="jboss.kernel:service=Kernel"/></parameter>
+ <parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject bean="NamingJavaEEComponentInformer"/></parameter>
+ </constructor>
+ </bean>
+
+ <bean name="org.jboss.switchboard.BeanManagerResourceProvider" class="org.jboss.weld.integration.deployer.jndi.BeanManagerResourceProvider">
+ <property name="moduleInformer"><inject bean="NamingJavaEEModuleInformer"/></property>
+ </bean>
+
+ <bean name="org.jboss.weld.integration.injection.Jsr299InjectorDeployer" class="org.jboss.weld.integration.injection.Jsr299InjectorDeployer">
+ <property name="kernelController"><inject bean="jboss.kernel:service=KernelController"/></property>
+ </bean>
+
</deployment>
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/pom.xml
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/pom.xml 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/pom.xml 2010-11-22 22:27:16 UTC (rev 109414)
@@ -307,6 +307,18 @@
<artifactId>jboss-reloaded-naming-deployers</artifactId>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-mc-spi</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.switchboard</groupId>
+ <artifactId>jboss-switchboard-mc-impl</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.jboss.test</groupId>
@@ -464,6 +476,16 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3.instantiator</groupId>
+ <artifactId>jboss-ejb3-instantiator-deployer</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3.instantiator</groupId>
+ <artifactId>jboss-ejb3-instantiator-impl</artifactId>
+ </dependency>
</dependencies>
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WebContainterIntegrationDeployer.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WebContainterIntegrationDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WebContainterIntegrationDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,3 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.deployer.env;
import java.util.ArrayList;
@@ -34,23 +56,14 @@
{
if (DeployersUtils.isBootstrapBeanPresent(unit) && unit.getAttachment(DeployersUtils.WELD_FILES) != null)
{
- String injectorName = unit.getName() + "_WBInjector";
- String bootstrapBeanName = DeployersUtils.getBootstrapBeanName(unit);
- BeanMetaDataBuilder weldInjector = BeanMetaDataBuilder.createBuilder(injectorName, WeldInjector.class.getName());
-
- weldInjector.addConstructorParameter(BootstrapBean.class.getName(), weldInjector.createInject(bootstrapBeanName));
- weldInjector.addConstructorParameter(String.class.getName(), IdFactory.getIdFromClassLoader(unit.getClassLoader()));
- weldInjector.setDestroy("cleanup");
- unit.addAttachment(injectorName + "_" + BeanMetaData.class.getSimpleName(), weldInjector.getBeanMetaData());
-
List<String> depends = deployment.getDepends();
if (depends == null)
{
depends = new ArrayList<String>();
deployment.setDepends(depends);
}
- depends.add(bootstrapBeanName);
+ depends.add(DeployersUtils.getBootstrapBeanName(unit));
}
}
}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/BeanManagerResourceProvider.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/BeanManagerResourceProvider.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/BeanManagerResourceProvider.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/BeanManagerResourceProvider.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.deployer.jndi;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
+import org.jboss.switchboard.impl.resource.IndependentResource;
+import org.jboss.switchboard.impl.resource.LinkRefResource;
+import org.jboss.switchboard.javaee.environment.BeanManagerRefType;
+import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
+import org.jboss.switchboard.spi.Resource;
+import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.util.JndiUtils;
+
+public class BeanManagerResourceProvider implements MCBasedResourceProvider<BeanManagerRefType>
+{
+
+ JavaEEModuleInformer moduleInformer;
+
+
+ public void setModuleInformer(JavaEEModuleInformer moduleInformer)
+ {
+ this.moduleInformer = moduleInformer;
+ }
+
+ public Resource provide(DeploymentUnit deploymentUnit, BeanManagerRefType type)
+ {
+ // TODO Auto-generated method stub
+ if (deploymentUnit.getAttachment(DeployersUtils.WELD_FILES) != null)
+ {
+ return new LinkRefResource(JndiUtils.getGlobalBeanManagerPath(moduleInformer, deploymentUnit));
+ }
+ else
+ {
+ return new IndependentResource(null);
+ }
+ }
+
+ public Class<BeanManagerRefType> getEnvironmentEntryType()
+ {
+ return BeanManagerRefType.class;
+ }
+
+}
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JBossBeanManagerObjectFactory.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JBossBeanManagerObjectFactory.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JBossBeanManagerObjectFactory.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -21,9 +21,7 @@
*/
package org.jboss.weld.integration.deployer.jndi;
-import javax.naming.Context;
-import javax.naming.Name;
-import javax.naming.NamingException;
+import javax.naming.*;
import javax.naming.spi.ObjectFactory;
import java.util.Hashtable;
import java.util.Map;
@@ -40,11 +38,12 @@
{
public Object getObjectInstance(Object o, Name name, Context context, Hashtable<?, ?> hashtable) throws Exception
{
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- Container container = Container.instance();
- if (Container.available() && tccl != null)
+ Reference reference = (Reference) o;
+ StringRefAddr refAddr = (StringRefAddr) reference.get(JndiBinder.REFADDR_ID);
+ if (Container.available())
{
- String beanManagerId = IdFactory.getIdFromClassLoader(tccl);
+ Container container = Container.instance();
+ String beanManagerId = (String)refAddr.getContent();
for (Map.Entry<BeanDeploymentArchive, BeanManagerImpl> mapElement : container.beanDeploymentArchives().entrySet())
{
if (mapElement.getKey().getId().equals(beanManagerId))
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JndiBinder.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JndiBinder.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JndiBinder.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -25,6 +25,7 @@
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.Reference;
+import javax.naming.StringRefAddr;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.deployers.spi.DeploymentException;
@@ -34,7 +35,8 @@
import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
import org.jboss.reloaded.naming.service.NameSpaces;
import org.jboss.weld.integration.deployer.DeployersUtils;
-import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
+import org.jboss.weld.integration.util.IdFactory;
+import org.jboss.weld.integration.util.JndiUtils;
/**
* This deployer intercepts BootstrapBean metadata,
@@ -47,7 +49,9 @@
*/
public class JndiBinder
{
- public static final String BEAN_MANAGER_JNDI_SUBCONTEXT = "cdi";
+
+ public static final String REFADDR_ID = "id";
+
private Context beanManagerContext;
private NameSpaces nameSpaces;
private JavaEEModuleInformer moduleInformer;
@@ -88,6 +92,8 @@
throw new RuntimeException(e);
}
}
+
+ // TODO: cleanup the remaining subcontexts if any (e.g. EAR/WAR etc)
}
protected Context createContext() throws NamingException
@@ -98,7 +104,7 @@
public void create() throws Exception
{
Context context = createContext();
- beanManagerContext = context.createSubcontext(BEAN_MANAGER_JNDI_SUBCONTEXT);
+ beanManagerContext = context.createSubcontext(JndiUtils.BEAN_MANAGER_GLOBAL_SUBCONTEXT);
}
protected Context getBeanManagerContext()
@@ -111,7 +117,7 @@
try
{
Context context = createContext();
- context.destroySubcontext(BEAN_MANAGER_JNDI_SUBCONTEXT);
+ context.destroySubcontext(JndiUtils.BEAN_MANAGER_GLOBAL_SUBCONTEXT);
}
catch (Exception ignore)
{
@@ -124,14 +130,6 @@
moduleInformer.getModuleType(deploymentUnit).equals(JavaEEModuleInformer.ModuleType.WEB));
}
- private String getJndiPath(DeploymentUnit deploymentUnit)
- {
- String applicationName = moduleInformer.getApplicationName(deploymentUnit);
- String path = (applicationName == null) ? "" : applicationName + "/";
- path += moduleInformer.getModuleName(deploymentUnit);
- return path;
- }
-
private class BinderVisitor implements DeploymentUnitVisitor
{
private final Context rootContext;
@@ -147,9 +145,11 @@
{
if (hasJndiBoundBeanManager(unit))
{
- String path = getJndiPath(unit);
+ String path = JndiUtils.getJndiSubcontexPathtForBeanManager(moduleInformer, unit);
Context subcontext = Util.createSubcontext(rootContext, path);
- subcontext.bind("BeanManager", new Reference(BeanManager.class.getName(), "org.jboss.weld.integration.deployer.jndi.JBossBeanManagerObjectFactory", null));
+ Reference reference = new Reference(BeanManager.class.getName(), "org.jboss.weld.integration.deployer.jndi.JBossBeanManagerObjectFactory", null);
+ reference.add(new StringRefAddr(REFADDR_ID, IdFactory.getIdFromClassLoader(unit.getClassLoader())));
+ subcontext.bind("BeanManager", reference);
}
}
catch (NamingException e)
@@ -179,7 +179,7 @@
{
if (hasJndiBoundBeanManager(unit))
{
- String path = getJndiPath(unit);
+ String path = JndiUtils.getJndiSubcontexPathtForBeanManager(moduleInformer, unit);
Context subcontext = (Context) rootContext.lookup(path);
subcontext.unbind("BeanManager");
rootContext.destroySubcontext(path);
@@ -197,5 +197,4 @@
}
}
-
}
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -50,26 +50,18 @@
@Override
public void deploy(DeploymentUnit deploymentUnit, JBossWebMetaData jBossWebMetaData) throws DeploymentException
{
- BeanMetaData bbBMD = getBootstrapBeanAttachment(deploymentUnit.getTopLevel());
- if (bbBMD != null && deploymentUnit.isAttachmentPresent(JBossWebMetaData.class))
- {
- AbstractInjectionValueMetaData javaModule = new AbstractInjectionValueMetaData(getModuleBeanName(deploymentUnit));
-
- String beanMetaDataMcNamespace = getModuleBeanName(deploymentUnit);
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanMetaDataMcNamespace + "_WebCompJndiBinder", SimpleCompJndiBinder.class.getName());
- builder.addConstructorParameter(DeploymentUnit.class.getName(), deploymentUnit);
- builder.addConstructorParameter(JavaEEModule.class.getName(), javaModule);
- builder.addInstall("bindToJavaComp");
- // no uninstall method for SimpleCompJndiBinder (context will be destroyed by Tomcat)
- //builder.addUninstall("unbind");
- deploymentUnit.getTopLevel().addAttachment(beanMetaDataMcNamespace + "_WebCompJndiBinder", builder.getBeanMetaData());
-
- BeanMetaDataBuilder moduleBinderBuilder = BeanMetaDataBuilder.createBuilder(beanMetaDataMcNamespace + "_JavaModuleJndiBinder", JavaEEModuleJndiBinder.class.getName());
- moduleBinderBuilder.addConstructorParameter(JavaEEModule.class.getName(), javaModule);
- moduleBinderBuilder.addInstall("bindToJavaComp");
- moduleBinderBuilder.addUninstall("unbind");
- deploymentUnit.getTopLevel().addAttachment(beanMetaDataMcNamespace + "_JavaModuleJndiBinder", moduleBinderBuilder.getBeanMetaData());
- }
+// BeanMetaData bbBMD = getBootstrapBeanAttachment(deploymentUnit.getTopLevel());
+// if (bbBMD != null && deploymentUnit.isAttachmentPresent(JBossWebMetaData.class))
+// {
+// AbstractInjectionValueMetaData javaModule = new AbstractInjectionValueMetaData(getModuleBeanName(deploymentUnit));
+//
+// String beanMetaDataMcNamespace = getModuleBeanName(deploymentUnit);
+// BeanMetaDataBuilder moduleBinderBuilder = BeanMetaDataBuilder.createBuilder(beanMetaDataMcNamespace + "_JavaModuleJndiBinder", JavaEEModuleJndiBinder.class.getName());
+// moduleBinderBuilder.addConstructorParameter(JavaEEModule.class.getName(), javaModule);
+// moduleBinderBuilder.addInstall("bindToJavaComp");
+// moduleBinderBuilder.addUninstall("unbind");
+// deploymentUnit.getTopLevel().addAttachment(beanMetaDataMcNamespace + "_JavaModuleJndiBinder", moduleBinderBuilder.getBeanMetaData());
+// }
}
private BeanMetaData getBootstrapBeanAttachment(DeploymentUnit deploymentUnit)
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299Injector.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299Injector.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299Injector.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299Injector.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.injection;
+
+import org.jboss.injection.manager.spi.InjectionContext;
+import org.jboss.injection.manager.spi.InjectionException;
+import org.jboss.injection.manager.spi.Injector;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
+import org.jboss.weld.manager.api.WeldManager;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.InjectionTarget;
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class Jsr299Injector implements Injector
+{
+
+ private BootstrapBean bootstrapBean;
+ private String bdaId;
+ private AtomicReference<WeldManager> weldManagerRef;
+
+ public Jsr299Injector(String bdaId)
+ {
+ this.bdaId = bdaId;
+ this.weldManagerRef = new AtomicReference<WeldManager>();
+ }
+
+ public void setBootstrapBean(BootstrapBean bootstrapBean)
+ {
+ this.bootstrapBean = bootstrapBean;
+ }
+
+ public <T> void inject(InjectionContext<T> injectionContext) throws InjectionException
+ {
+ WeldManager weldManager = initWeldManagerIfNecessary();
+ Object instance = injectionContext.getInjectionTarget();
+
+ if (weldManager == null)
+ throw new IllegalArgumentException("Null bean manager.");
+
+ CreationalContext<Object> creationalContext = weldManager.createCreationalContext(null);
+ InjectionTarget<Object> injectionTarget = (InjectionTarget<Object>) weldManager.fireProcessInjectionTarget(weldManager.createAnnotatedType(instance.getClass()));
+ injectionTarget.inject(instance, creationalContext);
+ injectionContext.proceed();
+ }
+
+ private WeldManager initWeldManagerIfNecessary()
+ {
+ WeldManager weldManager = weldManagerRef.get();
+ if (weldManager == null)
+ {
+ weldManager = locateWeldManager();
+ }
+ weldManagerRef.compareAndSet(null, weldManager);
+ return weldManager;
+ }
+
+ private WeldManager locateWeldManager()
+ {
+ BeanDeploymentArchive foundBeanDeploymentArchive = null;
+ for (BeanDeploymentArchive beanDeploymentArchive: bootstrapBean.getDeployment().getBeanDeploymentArchives())
+ {
+ if (beanDeploymentArchive.getId().equals(bdaId))
+ {
+ foundBeanDeploymentArchive = beanDeploymentArchive;
+ }
+ }
+ if (foundBeanDeploymentArchive == null)
+ {
+ throw new IllegalStateException("Cannot find BeanManager for BeanDeploymentArchive with id=" + bdaId);
+ }
+
+ return bootstrapBean.getBootstrap().getManager(foundBeanDeploymentArchive);
+ }
+
+ public void release()
+ {
+ bootstrapBean = null;
+ weldManagerRef.set(null);
+ }
+}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299InjectorDeployer.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299InjectorDeployer.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299InjectorDeployer.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/Jsr299InjectorDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.injection;
+
+import org.jboss.beans.metadata.api.model.InjectOption;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.injection.manager.spi.InjectionManager;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.util.IdFactory;
+
+/**
+ * A deployer for a Jsr299Injector
+ *
+ * @author Marius Bogoevici
+ */
+public class Jsr299InjectorDeployer extends AbstractSimpleRealDeployer<InjectionManager>
+{
+ private KernelController kernelController;
+
+ public Jsr299InjectorDeployer()
+ {
+ super(InjectionManager.class);
+ setStage(DeploymentStages.POST_CLASSLOADER);
+ setOutput(InjectionManager.class);
+ }
+
+ public void setKernelController(KernelController kernelController)
+ {
+ this.kernelController = kernelController;
+ }
+
+ @Override
+ public void deploy(DeploymentUnit unit, InjectionManager deployment) throws DeploymentException
+ {
+ if (isCDIDeployment(unit))
+ {
+ try
+ {
+ Jsr299Injector injector = new Jsr299Injector(IdFactory.getIdFromClassLoader(unit.getClassLoader()));
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(getJsr299InjectorMcBeanName(unit), Jsr299Injector.class.getName());
+ AbstractInjectionValueMetaData injectionValueMetaData = new AbstractInjectionValueMetaData(DeployersUtils.getBootstrapBeanName(unit));
+ injectionValueMetaData.setInjectionOption(InjectOption.CALLBACK);
+ builder.addPropertyMetaData("bootstrapBean", injectionValueMetaData);
+ builder.addUninstall("release");
+ kernelController.install(builder.getBeanMetaData(), injector);
+ deployment.addInjector(injector);
+ }
+ catch (Throwable throwable)
+ {
+ throw new DeploymentException(throwable);
+ }
+ }
+ }
+
+ private boolean isCDIDeployment(DeploymentUnit unit)
+ {
+ return unit.getAttachment(DeployersUtils.WELD_FILES) != null;
+ }
+
+ @Override
+ public void undeploy(DeploymentUnit unit, InjectionManager deployment)
+ {
+ if (isCDIDeployment(unit))
+ {
+ kernelController.uninstall(getJsr299InjectorMcBeanName(unit));
+ }
+ }
+
+ private String getJsr299InjectorMcBeanName(DeploymentUnit deploymentUnit)
+ {
+ if (!deploymentUnit.isComponent())
+ {
+ return deploymentUnit.getName() + "_Jsr299BeanInjector";
+ }
+ else
+ {
+ return deploymentUnit.getParent().getName() + "/" + deploymentUnit.getName() + "_Jsr299Injector";
+ }
+ }
+}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator)
Deleted: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,123 +0,0 @@
-/*
- *
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, 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.weld.integration.instantiator;
-
-import org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator;
-import org.jboss.ejb3.instantiator.spi.BeanInstantiationException;
-import org.jboss.ejb3.instantiator.spi.InvalidConstructionParamsException;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.weld.bean.SessionBean;
-import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
-import org.jboss.weld.ejb.spi.EjbDescriptor;
-import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
-import org.jboss.weld.manager.api.WeldManager;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionTarget;
-import java.util.concurrent.atomic.AtomicReference;
-
-public class Jsr299BeanInstantiator extends Ejb31SpecBeanInstantiator
-{
-
- private BootstrapBean bootstrapBean;
-
- private String bdaId;
-
- private JBossEnterpriseBeanMetaData enterpriseBeanMetaData;
-
- private AtomicReference<WeldManager> weldManagerRef = new AtomicReference<WeldManager>();
-
- public Jsr299BeanInstantiator(JBossEnterpriseBeanMetaData enterpriseBeanMetaData)
- {
- if (enterpriseBeanMetaData == null)
- {
- throw new RuntimeException("EnterpriseBeanMetadata cannot be null");
- }
- this.enterpriseBeanMetaData = enterpriseBeanMetaData;
- }
-
- public void setBdaId(String bdaId)
- {
- this.bdaId = bdaId;
- }
-
- public void setBootstrapBean(BootstrapBean bootstrapBean)
- {
- this.bootstrapBean = bootstrapBean;
- }
-
- public <T> T create(Class<T> clazz, Object[] objects) throws IllegalArgumentException, InvalidConstructionParamsException, BeanInstantiationException
- {
- WeldManager weldManager = getWeldManager();
- EjbDescriptor<Object> ejbDescriptor = weldManager.getEjbDescriptor(enterpriseBeanMetaData.getEjbName());
- if (ejbDescriptor.getBeanClass().equals(clazz))
- {
- SessionBean<Object> bean = (SessionBean) weldManager.getBean(ejbDescriptor);
- InjectionTarget<Object> injectionTarget = weldManager.createInjectionTarget(ejbDescriptor);
- CreationalContext<Object> creationalContext = weldManager.createCreationalContext(bean);
- T instance = (T) injectionTarget.produce(creationalContext);
- return instance;
- }
- else
- {
- return super.create(clazz, objects);
- }
- }
-
- private WeldManager getWeldManager()
- {
- WeldManager weldManager = weldManagerRef.get();
- if (weldManager == null)
- {
- weldManager = locateWeldManager();
- }
- weldManagerRef.compareAndSet(null, weldManager);
- return weldManager;
- }
-
- private WeldManager locateWeldManager()
- {
- BeanDeploymentArchive foundBeanDeploymentArchive = null;
- for (BeanDeploymentArchive beanDeploymentArchive : bootstrapBean.getDeployment().getBeanDeploymentArchives())
- {
- if (beanDeploymentArchive.getId().equals(bdaId))
- {
- foundBeanDeploymentArchive = beanDeploymentArchive;
- }
- }
- if (foundBeanDeploymentArchive == null)
- {
- throw new IllegalStateException("Cannot find BeanManager for BeanDeploymentArchive with id=" + bdaId);
- }
- return bootstrapBean.getBootstrap().getManager(foundBeanDeploymentArchive);
- }
-
- public void uninstall()
- {
- weldManagerRef.set(null);
- enterpriseBeanMetaData = null;
- }
-
-
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiator.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,123 @@
+/*
+ *
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.instantiator;
+
+import org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator;
+import org.jboss.ejb3.instantiator.spi.BeanInstantiationException;
+import org.jboss.ejb3.instantiator.spi.InvalidConstructionParamsException;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.ejb.spi.EjbDescriptor;
+import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
+import org.jboss.weld.manager.api.WeldManager;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.InjectionTarget;
+import java.util.concurrent.atomic.AtomicReference;
+
+public class Jsr299BeanInstantiator extends Ejb31SpecBeanInstantiator
+{
+
+ private BootstrapBean bootstrapBean;
+
+ private String bdaId;
+
+ private JBossEnterpriseBeanMetaData enterpriseBeanMetaData;
+
+ private AtomicReference<WeldManager> weldManagerRef = new AtomicReference<WeldManager>();
+
+ public Jsr299BeanInstantiator(JBossEnterpriseBeanMetaData enterpriseBeanMetaData)
+ {
+ if (enterpriseBeanMetaData == null)
+ {
+ throw new RuntimeException("EnterpriseBeanMetadata cannot be null");
+ }
+ this.enterpriseBeanMetaData = enterpriseBeanMetaData;
+ }
+
+ public void setBdaId(String bdaId)
+ {
+ this.bdaId = bdaId;
+ }
+
+ public void setBootstrapBean(BootstrapBean bootstrapBean)
+ {
+ this.bootstrapBean = bootstrapBean;
+ }
+
+ public <T> T create(Class<T> clazz, Object[] objects) throws IllegalArgumentException, InvalidConstructionParamsException, BeanInstantiationException
+ {
+ WeldManager weldManager = getWeldManager();
+ EjbDescriptor<Object> ejbDescriptor = weldManager.getEjbDescriptor(enterpriseBeanMetaData.getEjbName());
+ if (ejbDescriptor.getBeanClass().equals(clazz))
+ {
+ SessionBean<Object> bean = (SessionBean) weldManager.getBean(ejbDescriptor);
+ InjectionTarget<Object> injectionTarget = weldManager.createInjectionTarget(ejbDescriptor);
+ CreationalContext<Object> creationalContext = weldManager.createCreationalContext(bean);
+ T instance = (T) injectionTarget.produce(creationalContext);
+ return instance;
+ }
+ else
+ {
+ return super.create(clazz, objects);
+ }
+ }
+
+ private WeldManager getWeldManager()
+ {
+ WeldManager weldManager = weldManagerRef.get();
+ if (weldManager == null)
+ {
+ weldManager = locateWeldManager();
+ }
+ weldManagerRef.compareAndSet(null, weldManager);
+ return weldManager;
+ }
+
+ private WeldManager locateWeldManager()
+ {
+ BeanDeploymentArchive foundBeanDeploymentArchive = null;
+ for (BeanDeploymentArchive beanDeploymentArchive : bootstrapBean.getDeployment().getBeanDeploymentArchives())
+ {
+ if (beanDeploymentArchive.getId().equals(bdaId))
+ {
+ foundBeanDeploymentArchive = beanDeploymentArchive;
+ }
+ }
+ if (foundBeanDeploymentArchive == null)
+ {
+ throw new IllegalStateException("Cannot find BeanManager for BeanDeploymentArchive with id=" + bdaId);
+ }
+ return bootstrapBean.getBootstrap().getManager(foundBeanDeploymentArchive);
+ }
+
+ public void uninstall()
+ {
+ weldManagerRef.set(null);
+ enterpriseBeanMetaData = null;
+ }
+
+
+}
Deleted: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,75 +0,0 @@
-/*
- *
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, 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.weld.integration.instantiator;
-
-import org.jboss.beans.metadata.api.model.InjectOption;
-import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase;
-import org.jboss.ejb3.instantiator.spi.BeanInstantiator;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
-import org.jboss.weld.integration.deployer.DeployersUtils;
-import org.jboss.weld.integration.util.IdFactory;
-
-public class Jsr299BeanInstantiatorDeployer extends BeanInstantiatorDeployerBase
-{
-
- protected BeanInstantiator getBeanInstantiator(JBossEnterpriseBeanMetaData ebmd)
- {
- return new Jsr299BeanInstantiator(ebmd);
- }
-
- protected BeanInstantiator getBeanInstantiator(JBossEnterpriseBeanMetaData ebmd, DeploymentUnit unit)
- {
- return getBeanInstantiator(ebmd);
- }
-
- @Override
- protected void processMetadata(BeanMetaDataBuilder beanMetaDataBuilder, DeploymentUnit unit, JBossEnterpriseBeanMetaData ejb)
- {
- beanMetaDataBuilder.setBean(Jsr299BeanInstantiator.class.getName());
- beanMetaDataBuilder.addPropertyMetaData("bdaId", IdFactory.getIdFromClassLoader(unit.getClassLoader()));
- AbstractInjectionValueMetaData bootstrapBean = new AbstractInjectionValueMetaData(DeployersUtils.getBootstrapBeanName(unit));
- bootstrapBean.setInjectionOption(InjectOption.CALLBACK);
- beanMetaDataBuilder.addPropertyMetaData("bootstrapBean", bootstrapBean);
-
- //
- if (ejb instanceof JBossSessionBean31MetaData &&
- ((JBossSessionBean31MetaData) ejb).isSingleton())
- {
- String containerName = ejb.getContainerName() == null ?
- ejb.getGeneratedContainerName() :
- ejb.getContainerName();
-
- BeanMetaData containerBeanMetadata = unit.getAttachment(BeanMetaData.class + ":" + containerName, BeanMetaData.class);
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(containerBeanMetadata);
- builder.addDependency(DeployersUtils.getBootstrapBeanName(unit));
- builder.addDependency(beanMetaDataBuilder.getBeanMetaData().getName());
- }
- }
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/Jsr299BeanInstantiatorDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,75 @@
+/*
+ *
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.instantiator;
+
+import org.jboss.beans.metadata.api.model.InjectOption;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase;
+import org.jboss.ejb3.instantiator.spi.BeanInstantiator;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.util.IdFactory;
+
+public class Jsr299BeanInstantiatorDeployer extends BeanInstantiatorDeployerBase
+{
+
+ protected BeanInstantiator getBeanInstantiator(JBossEnterpriseBeanMetaData ebmd)
+ {
+ return new Jsr299BeanInstantiator(ebmd);
+ }
+
+ protected BeanInstantiator getBeanInstantiator(JBossEnterpriseBeanMetaData ebmd, DeploymentUnit unit)
+ {
+ return getBeanInstantiator(ebmd);
+ }
+
+ @Override
+ protected void processMetadata(BeanMetaDataBuilder beanMetaDataBuilder, DeploymentUnit unit, JBossEnterpriseBeanMetaData ejb)
+ {
+ beanMetaDataBuilder.setBean(Jsr299BeanInstantiator.class.getName());
+ beanMetaDataBuilder.addPropertyMetaData("bdaId", IdFactory.getIdFromClassLoader(unit.getClassLoader()));
+ AbstractInjectionValueMetaData bootstrapBean = new AbstractInjectionValueMetaData(DeployersUtils.getBootstrapBeanName(unit));
+ bootstrapBean.setInjectionOption(InjectOption.CALLBACK);
+ beanMetaDataBuilder.addPropertyMetaData("bootstrapBean", bootstrapBean);
+
+ //
+ if (ejb instanceof JBossSessionBean31MetaData &&
+ ((JBossSessionBean31MetaData) ejb).isSingleton())
+ {
+ String containerName = ejb.getContainerName() == null ?
+ ejb.getGeneratedContainerName() :
+ ejb.getContainerName();
+
+ BeanMetaData containerBeanMetadata = unit.getAttachment(BeanMetaData.class + ":" + containerName, BeanMetaData.class);
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(containerBeanMetadata);
+ builder.addDependency(DeployersUtils.getBootstrapBeanName(unit));
+ builder.addDependency(beanMetaDataBuilder.getBeanMetaData().getName());
+ }
+ }
+}
Deleted: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -1,88 +0,0 @@
-/*
- *
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, 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.weld.integration.instantiator;
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase;
-import org.jboss.ejb3.instantiator.deployer.SingletonBeanInstantiatorDeployer;
-import org.jboss.ejb3.instantiator.spi.BeanInstantiator;
-import org.jboss.kernel.Kernel;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
-import org.jboss.weld.integration.deployer.DeployersUtils;
-
-/**
- * A deployer that redirects to one of the two supported BeanInstantiator deployers.
- * To be replace with a simpler implementation once the signature to getBeanInstantiator()
- * is modified to pass on the DeploymentUnit - we need it to decide whether this is a
- * CDI deployment or not
- *
- * @author Marius Bogoevici
- */
-//TODO: remove this class after updating BeanInstantiatorDeployerBase and register a single deployer
-public class RedirectingBeanInstantiatorDeployer extends AbstractDeployer
-{
-
- private Jsr299BeanInstantiatorDeployer jsr299BeanInstantiatorDeployer;
- private SingletonBeanInstantiatorDeployer singletonBeanInstantiatorDeployer;
-
- public RedirectingBeanInstantiatorDeployer(BeanInstantiator defaultBeanInstantiator, Kernel kernel, JavaEEComponentInformer javaEEComponentInformer)
- {
- super();
- this.addInput(JBossMetaData.class);
- this.addOutput(BeanInstantiator.class);
- jsr299BeanInstantiatorDeployer = new Jsr299BeanInstantiatorDeployer();
- jsr299BeanInstantiatorDeployer.setKernel(kernel);
- jsr299BeanInstantiatorDeployer.setJavaEEComponentInformer(javaEEComponentInformer);
- singletonBeanInstantiatorDeployer = new SingletonBeanInstantiatorDeployer(defaultBeanInstantiator);
- singletonBeanInstantiatorDeployer.setKernel(kernel);
- singletonBeanInstantiatorDeployer.setJavaEEComponentInformer(javaEEComponentInformer);
- }
-
- public void deploy(DeploymentUnit unit) throws DeploymentException
- {
- getApplicableBeanInstantiatorDeployer(unit).deploy(unit);
- }
-
- @Override
- public void undeploy(DeploymentUnit unit)
- {
- getApplicableBeanInstantiatorDeployer(unit).undeploy(unit);
- }
-
- public BeanInstantiatorDeployerBase getApplicableBeanInstantiatorDeployer(DeploymentUnit unit)
- {
- if (DeployersUtils.checkForWeldFiles(unit, false))
- {
- return jsr299BeanInstantiatorDeployer;
- }
- else
- {
- return singletonBeanInstantiatorDeployer;
- }
- }
-}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/instantiator/RedirectingBeanInstantiatorDeployer.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,88 @@
+/*
+ *
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.instantiator;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase;
+import org.jboss.ejb3.instantiator.deployer.SingletonBeanInstantiatorDeployer;
+import org.jboss.ejb3.instantiator.spi.BeanInstantiator;
+import org.jboss.kernel.Kernel;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
+import org.jboss.weld.integration.deployer.DeployersUtils;
+
+/**
+ * A deployer that redirects to one of the two supported BeanInstantiator deployers.
+ * To be replace with a simpler implementation once the signature to getBeanInstantiator()
+ * is modified to pass on the DeploymentUnit - we need it to decide whether this is a
+ * CDI deployment or not
+ *
+ * @author Marius Bogoevici
+ */
+//TODO: remove this class after updating BeanInstantiatorDeployerBase and register a single deployer
+public class RedirectingBeanInstantiatorDeployer extends AbstractDeployer
+{
+
+ private Jsr299BeanInstantiatorDeployer jsr299BeanInstantiatorDeployer;
+ private SingletonBeanInstantiatorDeployer singletonBeanInstantiatorDeployer;
+
+ public RedirectingBeanInstantiatorDeployer(BeanInstantiator defaultBeanInstantiator, Kernel kernel, JavaEEComponentInformer javaEEComponentInformer)
+ {
+ super();
+ this.addInput(JBossMetaData.class);
+ this.addOutput(BeanInstantiator.class);
+ jsr299BeanInstantiatorDeployer = new Jsr299BeanInstantiatorDeployer();
+ jsr299BeanInstantiatorDeployer.setKernel(kernel);
+ jsr299BeanInstantiatorDeployer.setJavaEEComponentInformer(javaEEComponentInformer);
+ singletonBeanInstantiatorDeployer = new SingletonBeanInstantiatorDeployer(defaultBeanInstantiator);
+ singletonBeanInstantiatorDeployer.setKernel(kernel);
+ singletonBeanInstantiatorDeployer.setJavaEEComponentInformer(javaEEComponentInformer);
+ }
+
+ public void deploy(DeploymentUnit unit) throws DeploymentException
+ {
+ getApplicableBeanInstantiatorDeployer(unit).deploy(unit);
+ }
+
+ @Override
+ public void undeploy(DeploymentUnit unit)
+ {
+ getApplicableBeanInstantiatorDeployer(unit).undeploy(unit);
+ }
+
+ public BeanInstantiatorDeployerBase getApplicableBeanInstantiatorDeployer(DeploymentUnit unit)
+ {
+ if (DeployersUtils.checkForWeldFiles(unit, false))
+ {
+ return jsr299BeanInstantiatorDeployer;
+ }
+ else
+ {
+ return singletonBeanInstantiatorDeployer;
+ }
+ }
+}
Copied: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/util/JndiUtils.java (from rev 109413, trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/util/JndiUtils.java)
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/util/JndiUtils.java (rev 0)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/main/java/org/jboss/weld/integration/util/JndiUtils.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, 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.weld.integration.util;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class JndiUtils
+{
+ /**
+ * The global path for bean managers is java:/global/cdi/<applicationName>/<moduleName>/BeanManager
+ */
+ public static final String BEAN_MANAGER_GLOBAL_SUBCONTEXT = "cdi";
+
+ public static String getJndiSubcontexPathtForBeanManager(JavaEEModuleInformer moduleInformer, DeploymentUnit unit)
+ {
+ String applicationName = moduleInformer.getApplicationName(unit);
+ String path = (applicationName == null) ? "" : (applicationName + "/");
+ path += moduleInformer.getModuleName(unit);
+ return path;
+ }
+
+ public static String getGlobalBeanManagerPath(JavaEEModuleInformer moduleInformer, DeploymentUnit unit)
+ {
+ return "java:global/" + BEAN_MANAGER_GLOBAL_SUBCONTEXT + "/" + getJndiSubcontexPathtForBeanManager(moduleInformer, unit) + "/BeanManager";
+ }
+}
Modified: branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BootDeployerTestCase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BootDeployerTestCase.java 2010-11-22 21:22:42 UTC (rev 109413)
+++ branches/JBoss-AS-6.0.x_ipv6/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BootDeployerTestCase.java 2010-11-22 22:27:16 UTC (rev 109414)
@@ -42,6 +42,7 @@
import org.jboss.test.deployers.support.deployer.CheckableJndiBinder;
import org.jboss.vfs.VirtualFile;
import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.util.JndiUtils;
/**
* Test boot deployer.
@@ -73,7 +74,7 @@
{
// should already be on the deployer
Context bmContext = assertInstanceOf(
- CheckableJndiBinder.ROOT.lookup(CheckableJndiBinder.BEAN_MANAGER_JNDI_SUBCONTEXT),
+ CheckableJndiBinder.ROOT.lookup(JndiUtils.BEAN_MANAGER_GLOBAL_SUBCONTEXT),
Context.class,
false
);
More information about the jboss-cvs-commits
mailing list