[Jboss-cvs] JBossAS SVN: r57082 - in trunk/ejb3/src: main/org/jboss/ejb3 main/org/jboss/ejb3/metamodel resources/test/stateful/META-INF test/org/jboss/ejb3/test/stateful/unit
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Sep 22 11:54:49 EDT 2006
Author: bdecoste
Date: 2006-09-22 11:54:44 -0400 (Fri, 22 Sep 2006)
New Revision: 57082
Modified:
trunk/ejb3/src/main/org/jboss/ejb3/EJB3Deployer.java
trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java
trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
trunk/ejb3/src/resources/test/stateful/META-INF/jboss.xml
trunk/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
Log:
implemented <jmx-name> for jboss.xml
Modified: trunk/ejb3/src/main/org/jboss/ejb3/EJB3Deployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/EJB3Deployer.java 2006-09-22 15:06:18 UTC (rev 57081)
+++ trunk/ejb3/src/main/org/jboss/ejb3/EJB3Deployer.java 2006-09-22 15:54:44 UTC (rev 57082)
@@ -77,6 +77,7 @@
private Properties DefaultProperties;
private HashSet ignoredJarsSet;
+ private HashMap<DeploymentInfo, String> jmxNames = new HashMap();
/**
* Default CTOR used to set default values to the Suffixes and RelativeOrder
@@ -380,6 +381,12 @@
LoaderRepositoryFactory.parseRepositoryConfig(loader);
di.setRepositoryInfo(config);
}
+
+ Element jmxNameElement = MetaData.getOptionalChild(jboss, "jmx-name");
+ if (jmxNameElement != null)
+ {
+ jmxNames.put(di, jmxNameElement.getChildNodes().item(0).getNodeValue());
+ }
}
finally
{
@@ -411,7 +418,9 @@
di.annotationsCl = new URLClassLoader(new URL[]{loaderURL}, di.ucl);
Ejb3Module ejbModule = new Ejb3Module(di);
- String name = Ejb3Module.BASE_EJB3_JMX_NAME + ",module=" + di.shortName;
+ String name = jmxNames.get(di);
+ if (name == null)
+ name = Ejb3Module.BASE_EJB3_JMX_NAME + ",module=" + di.shortName;
// Build an escaped JMX name including deployment shortname
ObjectName ejbModuleName = ObjectNameConverter.convert(name);
// Check that the name is not registered
@@ -473,6 +482,7 @@
throw new DeploymentException("problem stopping ejb module: " +
di.url, e);
}
+
super.stop(di);
}
@@ -491,6 +501,9 @@
throw new DeploymentException("problem destroying ejb module: " +
di.url, e);
}
+
+ jmxNames.remove(di);
+
super.destroy(di);
}
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java 2006-09-22 15:06:18 UTC (rev 57081)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java 2006-09-22 15:54:44 UTC (rev 57082)
@@ -49,10 +49,9 @@
// jboss.xml
private String securityDomain;
-
private String unauthenticatedPrincipal;
+ private String jmxName;
-
private HashMap<String, ResourceManager> resourceManagers = new HashMap();
// both
@@ -91,7 +90,17 @@
{
this.unauthenticatedPrincipal = unauthenticatedPrincipal;
}
+
+ public String getJmxName()
+ {
+ return jmxName;
+ }
+ public void setJmxName(String jmxName)
+ {
+ this.jmxName = jmxName;
+ }
+
public String getVersion()
{
return version;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2006-09-22 15:06:18 UTC (rev 57081)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2006-09-22 15:54:44 UTC (rev 57082)
@@ -1077,6 +1077,10 @@
{
dd.setUnauthenticatedPrincipal(getValue(localName, value));
}
+ else if (localName.equals("jmx-name"))
+ {
+ dd.setJmxName(getValue(localName, value));
+ }
}
/**
Modified: trunk/ejb3/src/resources/test/stateful/META-INF/jboss.xml
===================================================================
--- trunk/ejb3/src/resources/test/stateful/META-INF/jboss.xml 2006-09-22 15:06:18 UTC (rev 57081)
+++ trunk/ejb3/src/resources/test/stateful/META-INF/jboss.xml 2006-09-22 15:54:44 UTC (rev 57082)
@@ -5,6 +5,7 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
version="3.0">
+ <jmx-name>test.ejb3:name=Bill,service=EJB3</jmx-name>
<enterprise-beans>
<session>
<ejb-name>OverrideConcurrentStateful</ejb-name>
Modified: trunk/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
===================================================================
--- trunk/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java 2006-09-22 15:06:18 UTC (rev 57081)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java 2006-09-22 15:54:44 UTC (rev 57082)
@@ -22,8 +22,11 @@
package org.jboss.ejb3.test.stateful.unit;
import javax.ejb.EJBNoSuchObjectException;
+import javax.management.ObjectName;
import javax.naming.InitialContext;
+import org.jboss.ejb3.ClientKernelAbstraction;
+import org.jboss.ejb3.KernelAbstractionFactory;
import org.jboss.ejb3.test.stateful.ConcurrentStateful;
import org.jboss.ejb3.test.stateful.SmallCacheStateful;
import org.jboss.ejb3.test.stateful.Stateful;
@@ -431,7 +434,16 @@
assertTrue(wasConcurrentException);
}
+
+ public void testJmxName() throws Exception
+ {
+ ObjectName deployment = new ObjectName("test.ejb3:name=Bill,service=EJB3");
+ ClientKernelAbstraction kernel = KernelAbstractionFactory.getClientInstance();
+ kernel.invoke(deployment, "stop", new Object[0], new String[0]);
+ kernel.invoke(deployment, "start", new Object[0], new String[0]);
+ }
+
public static Test suite() throws Exception
{
return getDeploySetup(RemoteUnitTestCase.class, "stateful-test.jar");
More information about the jboss-cvs-commits
mailing list