[jboss-cvs] JBossAS SVN: r82891 - branches/Branch_5_x/ejb3/src/main/org/jboss/ejb3/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 14 22:07:56 EST 2009


Author: ALRubinger
Date: 2009-01-14 22:07:56 -0500 (Wed, 14 Jan 2009)
New Revision: 82891

Modified:
   branches/Branch_5_x/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
Log:
[EJBTHREE-1530][EJBTHREE-655] Revert JBossASKernel changes to keep EJB3 Plugin compatible w/ JBossAS 5.0.0.GA

Modified: branches/Branch_5_x/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- branches/Branch_5_x/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2009-01-15 03:03:03 UTC (rev 82890)
+++ branches/Branch_5_x/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2009-01-15 03:07:56 UTC (rev 82891)
@@ -27,10 +27,13 @@
 import java.util.HashSet;
 import java.util.Set;
 
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
 import javax.management.MBeanInfo;
 import javax.management.MBeanOperationInfo;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import javax.management.ReflectionException;
 
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
@@ -122,7 +125,7 @@
       log.info("  and demands:");
       for(DemandMetaData dmd : policy.getDemands())
       {
-         log.info("\t" + dmd.getDemand() + "; Required: " + dmd.getWhenRequired().getStateString());
+         log.info("\t" + dmd.getDemand());
       }
       log.info("  and supplies:");
       for(SupplyMetaData smd : policy.getSupplies())
@@ -167,6 +170,11 @@
       {
          mbeanServer.registerMBean(service, on);
          install(on.getCanonicalName(), dependencies, null, service);
+         
+         // EJBTHREE-606: emulate the ServiceController calls
+         MBeanInfo info = mbeanServer.getMBeanInfo(on); // redundant call for speed
+         invokeOptionalMethod(on, info, "create");
+         invokeOptionalMethod(on, info, "start");
       }
       catch (Exception e)
       {
@@ -205,6 +213,25 @@
    {
       try
       {
+         // EJBTHREE-606: emulate the ServiceController calls
+         MBeanInfo info = mbeanServer.getMBeanInfo(on); // redundant call for speed
+         try
+         {
+            invokeOptionalMethod(on, info, "stop");
+         }
+         catch(Exception e)
+         {
+            log.warn("stop on " + on + " failed", e);
+         }
+         try
+         {
+            invokeOptionalMethod(on, info, "destroy");
+         }
+         catch(Exception e)
+         {
+            log.warn("destroy on " + on + " failed", e);
+         }
+         
          mbeanServer.unregisterMBean(on);
       }
       catch (Exception e)
@@ -251,6 +278,14 @@
       
       return false;
    }
+   private void invokeOptionalMethod(ObjectName on, MBeanInfo info, String operationName)
+      throws InstanceNotFoundException, MBeanException, ReflectionException
+   {
+      Object params[] = { };
+      String signature[] = { };
+      if(hasOperation(info, operationName))
+         mbeanServer.invoke(on, operationName, params, signature);
+   }
 
    public static class AlreadyInstantiated extends AbstractConstructorMetaData
    {




More information about the jboss-cvs-commits mailing list