[jboss-cvs] JBossAS SVN: r72670 - trunk/ejb3/src/main/org/jboss/ejb3/deployers.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 24 07:14:25 EDT 2008
Author: scott.stark at jboss.org
Date: 2008-04-24 07:14:25 -0400 (Thu, 24 Apr 2008)
New Revision: 72670
Modified:
trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java
trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASDepdencyPolicy.java
trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
Log:
JBAS-5477, always create a DeploymentScope
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java 2008-04-24 11:03:29 UTC (rev 72669)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java 2008-04-24 11:14:25 UTC (rev 72670)
@@ -136,11 +136,11 @@
log.debug("********* " + this.getClass().getSimpleName() + " Begin Unit: " + unit.getSimpleName() + " jar: "
+ jar.getName());
JBoss5DeploymentScope scope = null;
- VFSDeploymentUnit parent = unit.getParent();
+ VFSDeploymentUnit parent = unit.getTopLevel();
boolean initScopeDeployment = false;
- if (parent != null && parent.isAttachmentPresent(JBossAppMetaData.class))
+ if (parent != null)
{
- // An ear parent
+ // Check for an existing scope
scope = (JBoss5DeploymentScope) parent.getAttachment(DeploymentScope.class);
if (scope == null)
{
@@ -155,6 +155,7 @@
parent.addAttachment(DeploymentScope.class, scope);
}
}
+
JBoss5DeploymentUnit du = new JBoss5DeploymentUnit(unit);
du.setDefaultPersistenceProperties(defaultPersistenceProperties);
Ejb3JBoss5Deployment deployment = new Ejb3JBoss5Deployment(du, kernel, mbeanServer, unit, scope, metaData, persistenceUnitsMetaData);
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java 2008-04-24 11:03:29 UTC (rev 72669)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java 2008-04-24 11:14:25 UTC (rev 72670)
@@ -48,7 +48,7 @@
{
super(ejb3Unit, deploymentScope, metaData, persistenceUnitsMetaData);
this.jbossUnit = jbossUnit;
- kernelAbstraction = new JBossASKernel(kernel);
+ kernelAbstraction = new JBossASKernel(kernel, mbeanServer);
// todo maybe mbeanServer should be injected?
this.mbeanServer = mbeanServer;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java 2008-04-24 11:03:29 UTC (rev 72669)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java 2008-04-24 11:14:25 UTC (rev 72670)
@@ -117,9 +117,15 @@
public void register(Ejb3Deployment deployment)
{
+ // Create the path name relative to the root
String pathName = deployment.getDeploymentUnit().getRootFile().getPathName();
if(pathName.startsWith(shortName))
- pathName = pathName.substring(shortName.length()+1);
+ {
+ if(pathName.length() > shortName.length())
+ pathName = pathName.substring(shortName.length()+1);
+ else
+ pathName = "";
+ }
deployments.put(pathName, deployment);
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASDepdencyPolicy.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASDepdencyPolicy.java 2008-04-24 11:03:29 UTC (rev 72669)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASDepdencyPolicy.java 2008-04-24 11:14:25 UTC (rev 72670)
@@ -34,6 +34,9 @@
import org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin;
/**
+ * The implementation of the DependencyPolicy used by the jbossas ejb3
+ * related deployers.
+ *
* @author Scott.Stark at jboss.org
* @version $Revision:$
*/
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java 2008-04-24 11:03:29 UTC (rev 72669)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java 2008-04-24 11:14:25 UTC (rev 72670)
@@ -67,7 +67,12 @@
public JBossASKernel(Kernel kernel)
{
+ this(kernel, null);
+ }
+ public JBossASKernel(Kernel kernel, MBeanServer mbeanServer)
+ {
this.kernel = kernel;
+ this.mbeanServer = mbeanServer;
}
public MBeanServer getMbeanServer()
@@ -83,14 +88,19 @@
DeploymentUnit unit, Object service)
{
// Look for the kernel deployment
- KernelDeployment deployment = (KernelDeployment) unit.getAttachment(KernelDeployment.class.getName());
- if(deployment == null)
+ KernelDeployment deployment = null;
+ if(unit != null)
{
- AbstractKernelDeployment akd = new AbstractKernelDeployment();
- akd.setBeanFactories(new ArrayList<BeanMetaDataFactory>());
- deployment = akd;
- deployment.setName(unit.getShortName());
- unit.addAttachment(KernelDeployment.class.getName(), deployment);
+ deployment = (KernelDeployment) unit.getAttachment(KernelDeployment.class.getName());
+ if(deployment == null)
+ {
+ AbstractKernelDeployment akd = new AbstractKernelDeployment();
+ akd.setBeanFactories(new ArrayList<BeanMetaDataFactory>());
+ deployment = akd;
+ String kdname = unit.getShortName();
+ deployment.setName(kdname);
+ unit.addAttachment(KernelDeployment.class.getName(), deployment);
+ }
}
// Create the metadata for the bean to install
@@ -121,8 +131,30 @@
{
log.info("\t" + smd.getSupply());
}
- // Just add the mc bean metadata to the unit
- deployment.getBeanFactories().add(bean);
+
+ if(unit != null)
+ {
+ // Just add the mc bean metadata to the unit
+ deployment.getBeanFactories().add(bean);
+ }
+ else
+ {
+ // Install directly into the kernel
+ try
+ {
+ try
+ {
+ kernel.getController().uninstall(name);
+ }
+ catch (IllegalStateException e){}
+
+ kernel.getController().install(bean);
+ }
+ catch (Throwable throwable)
+ {
+ throw new RuntimeException(throwable);
+ }
+ }
}
public void installMBean(ObjectName on, DependencyPolicy dependencies,
More information about the jboss-cvs-commits
mailing list