[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