[jboss-cvs] JBossAS SVN: r58694 - in trunk/server/src: etc/deployers main/org/jboss/ejb main/org/jboss/ejb/deployers
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 27 17:22:13 EST 2006
Author: scott.stark at jboss.org
Date: 2006-11-27 17:22:09 -0500 (Mon, 27 Nov 2006)
New Revision: 58694
Modified:
trunk/server/src/etc/deployers/ejb-deployer-beans.xml
trunk/server/src/main/org/jboss/ejb/EjbModuleMBean.java
trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
Add a dependency on the CachedConnectionManager service used by the CachedConnectionInterceptor to the EjbModule if the EjbDeployer cachedConnectionManagerName property is set.
Modified: trunk/server/src/etc/deployers/ejb-deployer-beans.xml
===================================================================
--- trunk/server/src/etc/deployers/ejb-deployer-beans.xml 2006-11-27 21:09:15 UTC (rev 58693)
+++ trunk/server/src/etc/deployers/ejb-deployer-beans.xml 2006-11-27 22:22:09 UTC (rev 58694)
@@ -38,7 +38,9 @@
<!-- The EJBDeployer needs the JTA transaction manager service -->
<property name="transactionManagerServiceName">jboss:service=TransactionManager</property>
- <!-- The dynamic class loading simple web server -->
- <property name="webServiceName">jboss:service=WebService</property>
+ <!-- The dynamic class loading simple web server -->
+ <property name="webServiceName">jboss:service=WebService</property>
+ <!-- The CachedConnectionManager service used by the CachedConnectionInterceptor -->
+ <property name="cachedConnectionManagerName">jboss.jca:service=CachedConnectionManager</property>
</bean>
</deployment>
Modified: trunk/server/src/main/org/jboss/ejb/EjbModuleMBean.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbModuleMBean.java 2006-11-27 21:09:15 UTC (rev 58693)
+++ trunk/server/src/main/org/jboss/ejb/EjbModuleMBean.java 2006-11-27 22:22:09 UTC (rev 58694)
@@ -21,6 +21,8 @@
*/
package org.jboss.ejb;
+import javax.management.ObjectName;
+
import org.jboss.tm.TransactionManagerFactory;
/**
@@ -28,13 +30,15 @@
* @see Container
* @see EJBDeployer
*/
-public interface EjbModuleMBean extends org.jboss.system.ServiceMBean {
-
+public interface EjbModuleMBean extends org.jboss.system.ServiceMBean
+{
/**
* Get all containers in this deployment unit.
* @return a collection of containers for each enterprise bean in this deployment unit.
*/
java.util.Collection getContainers() ;
- void setTransactionManagerFactory(TransactionManagerFactory tmFactory);
+ void setTransactionManagerFactory(TransactionManagerFactory tmFactory);
+ public ObjectName getWebServiceName();
+ public void setWebServiceName(ObjectName webServiceName);
}
Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java 2006-11-27 21:09:15 UTC (rev 58693)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java 2006-11-27 22:22:09 UTC (rev 58694)
@@ -35,6 +35,7 @@
import org.jboss.mx.util.ObjectNameConverter;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceConstructorMetaData;
+import org.jboss.system.metadata.ServiceDependencyMetaData;
import org.jboss.system.metadata.ServiceDependencyValueMetaData;
import org.jboss.system.metadata.ServiceMetaData;
@@ -47,8 +48,12 @@
*/
public class EjbDeployer extends AbstractSimpleRealDeployer<ApplicationMetaData>
{
+ /** */
private String transactionManagerServiceName;
+ /** */
private String webServiceName;
+ /** The CachedConnectionManager service used by the CachedConnectionInterceptor */
+ private String ccmServiceName;
/**
* A utility method that takes a deployment unit name and strips it down to the base war
@@ -97,6 +102,16 @@
this.webServiceName = webServiceName;
}
+ public String getCachedConnectionManagerName()
+ {
+ return ccmServiceName;
+ }
+
+ public void setCachedConnectionManagerName(String ccmServiceName)
+ {
+ this.ccmServiceName = ccmServiceName;
+ }
+
@Override
public void deploy(DeploymentUnit unit, ApplicationMetaData deployment)
throws DeploymentException
@@ -156,9 +171,25 @@
dependencyValue.setProxyType("attribute");
attr.setValue(dependencyValue);
attrs.add(attr);
-
+ // Add injection of the WebServiceName
+ ServiceAttributeMetaData ws = new ServiceAttributeMetaData();
+ ws.setName("WebServiceName");
+ ServiceDependencyValueMetaData wsDepends = new ServiceDependencyValueMetaData();
+ wsDepends.setDependency(getWebServiceName());
+ ws.setValue(wsDepends);
+ attrs.add(ws);
ejbModule.setAttributes(attrs);
+ // CCM for CachedConnectionInterceptor dependency
+ if( ccmServiceName != null && ccmServiceName.length() > 0 )
+ {
+ List<ServiceDependencyMetaData> dependencies = new ArrayList<ServiceDependencyMetaData>();
+ ServiceDependencyMetaData ccm = new ServiceDependencyMetaData();
+ ccm.setIDependOn(ccmServiceName);
+ dependencies.add(ccm);
+ ejbModule.setDependencies(dependencies);
+ }
+
unit.addAttachment(ServiceMetaData.class, ejbModule);
}
@@ -193,45 +224,4 @@
return ejbModuleName;
}
- protected void deployEjbModule(DeploymentUnit unit, ApplicationMetaData metaData)
- throws Exception
- {
- log.debug("deployWebModule");
- try
- {
- ServiceMetaData ejbModule = new ServiceMetaData();
- ObjectName objectName = getObjectName(unit, metaData);
- ejbModule.setObjectName(objectName);
- ejbModule.setCode(EjbModule.class.getName());
- // EjbModule(DeploymentUnit)
- ServiceConstructorMetaData constructor = new ServiceConstructorMetaData();
- constructor.setSignature(new String[] { DeploymentUnit.class.getName()});
- constructor.setParameters(new Object[] {unit, this, metaData});
- ejbModule.setConstructor(constructor);
-
- List<ServiceAttributeMetaData> attributes = new ArrayList<ServiceAttributeMetaData>();
- // Add injection of the TM
- ServiceAttributeMetaData tm = new ServiceAttributeMetaData();
- tm.setName("txMgr");
- String tmProxyType = "javax.transaction.TransactionManager";
- ServiceDependencyValueMetaData tmDepends = new ServiceDependencyValueMetaData(transactionManagerServiceName, tmProxyType);
- tm.setValue(tmDepends);
- attributes.add(tm);
- // Add injection of the WebServiceName
- ServiceAttributeMetaData ws = new ServiceAttributeMetaData();
- ws.setName("webServiceName");
- ServiceDependencyValueMetaData wsDepends = new ServiceDependencyValueMetaData();
- wsDepends.setDependency(webServiceName);
- attributes.add(ws);
- ejbModule.setAttributes(attributes);
-
- // TODO could create multiple components for the deployment
- unit.addAttachment(ServiceMetaData.class, ejbModule);
- }
- catch (Exception e)
- {
- throw DeploymentException.rethrowAsDeploymentException("Error creating rar deployment " + unit.getName(), e);
- }
-
- }
}
More information about the jboss-cvs-commits
mailing list