Author: thomas.diesler(a)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
Show replies by date