[jboss-cvs] JBossAS SVN: r101559 - projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 26 09:52:59 EST 2010


Author: thomas.diesler at jboss.com
Date: 2010-02-26 09:52:58 -0500 (Fri, 26 Feb 2010)
New Revision: 101559

Modified:
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java
Log:
cache the jmx proxies

Modified: projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java	2010-02-26 14:44:50 UTC (rev 101558)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java	2010-02-26 14:52:58 UTC (rev 101559)
@@ -75,6 +75,11 @@
    private OSGiTestHelper helper;
    private Map<String, OSGiBundle> bundles = new LinkedHashMap<String, OSGiBundle>();
    private List<Capability> capabilities = new ArrayList<Capability>();
+   
+   private FrameworkMBean frameworkState;
+   private BundleStateMBean bundleState;
+   private ServiceStateMBean serviceState;
+   private PackageStateMBean packageState;
 
    public OSGiRuntimeImpl(OSGiTestHelper helper)
    {
@@ -182,46 +187,78 @@
 
    public FrameworkMBean getFrameworkMBean() throws IOException
    {
-      MBeanServerConnection server = getMBeanServer();
-      ObjectName objectName = ObjectNameFactory.create(FrameworkMBeanExt.OBJECTNAME);
-      if (server.isRegistered(objectName))
-         return MBeanProxy.get(server, objectName, FrameworkMBeanExt.class);
-
-      objectName = ObjectNameFactory.create(FrameworkMBean.OBJECTNAME);
-      return MBeanProxy.get(server, objectName, FrameworkMBean.class);
+      if (frameworkState == null)
+      {
+         ObjectName objectName = ObjectNameFactory.create(FrameworkMBeanExt.OBJECTNAME);
+         MBeanServerConnection server = getMBeanServer();
+         if (server.isRegistered(objectName))
+         {
+            frameworkState = MBeanProxy.get(server, objectName, FrameworkMBeanExt.class);
+         }
+         else
+         {
+            objectName = ObjectNameFactory.create(FrameworkMBean.OBJECTNAME);
+            frameworkState = MBeanProxy.get(server, objectName, FrameworkMBean.class);
+         }
+      }
+      return frameworkState;
    }
 
    public BundleStateMBean getBundleStateMBean() throws IOException
    {
-      MBeanServerConnection server = getMBeanServer();
-      ObjectName objectName = ObjectNameFactory.create(BundleStateMBeanExt.OBJECTNAME);
-      if (server.isRegistered(objectName))
-         return MBeanProxy.get(server, objectName, BundleStateMBeanExt.class);
-
-      objectName = ObjectNameFactory.create(BundleStateMBean.OBJECTNAME);
-      return MBeanProxy.get(server, objectName, BundleStateMBean.class);
+      if (bundleState == null)
+      {
+         MBeanServerConnection server = getMBeanServer();
+         ObjectName objectName = ObjectNameFactory.create(BundleStateMBeanExt.OBJECTNAME);
+         if (server.isRegistered(objectName))
+         {
+            bundleState = MBeanProxy.get(server, objectName, BundleStateMBeanExt.class);
+         }
+         else
+         {
+            objectName = ObjectNameFactory.create(BundleStateMBean.OBJECTNAME);
+            bundleState = MBeanProxy.get(server, objectName, BundleStateMBean.class);
+         }
+      }
+      return bundleState;
    }
 
    public PackageStateMBean getPackageStateMBean() throws IOException
    {
-      MBeanServerConnection server = getMBeanServer();
-      ObjectName objectName = ObjectNameFactory.create(PackageStateMBeanExt.OBJECTNAME);
-      if (server.isRegistered(objectName))
-         return MBeanProxy.get(server, objectName, PackageStateMBeanExt.class);
-
-      objectName = ObjectNameFactory.create(PackageStateMBean.OBJECTNAME);
-      return MBeanProxy.get(server, objectName, PackageStateMBean.class);
+      if (packageState == null)
+      {
+         MBeanServerConnection server = getMBeanServer();
+         ObjectName objectName = ObjectNameFactory.create(PackageStateMBeanExt.OBJECTNAME);
+         if (server.isRegistered(objectName))
+         {
+            packageState = MBeanProxy.get(server, objectName, PackageStateMBeanExt.class);
+         }
+         else
+         {
+            objectName = ObjectNameFactory.create(PackageStateMBean.OBJECTNAME);
+            packageState = MBeanProxy.get(server, objectName, PackageStateMBean.class);
+         }
+      }
+      return packageState;
    }
 
    public ServiceStateMBean getServiceStateMBean() throws IOException
    {
-      MBeanServerConnection server = getMBeanServer();
-      ObjectName objectName = ObjectNameFactory.create(ServiceStateMBeanExt.OBJECTNAME);
-      if (server.isRegistered(objectName))
-         return MBeanProxy.get(getMBeanServer(), objectName, ServiceStateMBeanExt.class);
-
-      objectName = ObjectNameFactory.create(ServiceStateMBean.OBJECTNAME);
-      return MBeanProxy.get(server, objectName, ServiceStateMBean.class);
+      if (serviceState == null)
+      {
+         MBeanServerConnection server = getMBeanServer();
+         ObjectName objectName = ObjectNameFactory.create(ServiceStateMBeanExt.OBJECTNAME);
+         if (server.isRegistered(objectName))
+         {
+            serviceState = MBeanProxy.get(server, objectName, ServiceStateMBeanExt.class);
+         }
+         else
+         {
+            objectName = ObjectNameFactory.create(ServiceStateMBean.OBJECTNAME);
+            serviceState = MBeanProxy.get(server, objectName, ServiceStateMBean.class);
+         }
+      }
+      return serviceState;
    }
 
    public InitialContext getInitialContext() throws NamingException




More information about the jboss-cvs-commits mailing list