[jboss-cvs] JBossAS SVN: r89148 - trunk/profileservice/src/main/org/jboss/profileservice/management.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 19 22:57:38 EDT 2009
Author: david.lloyd at jboss.com
Date: 2009-05-19 22:57:37 -0400 (Tue, 19 May 2009)
New Revision: 89148
Modified:
trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
Log:
JBAS-6953 - improper interrupt handling
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2009-05-20 02:54:45 UTC (rev 89147)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java 2009-05-20 02:57:37 UTC (rev 89148)
@@ -236,121 +236,129 @@
// Clear any thread interrupt
boolean wasInterrupted = Thread.interrupted();
- if(wasInterrupted)
- log.debug("Cleared interrupted state of calling thread");
+ try
+ {
+ if(wasInterrupted)
+ log.trace("Cleared interrupted state of calling thread");
- // Cleanup
- release();
- //
- boolean trace = log.isTraceEnabled();
-
- // load the profiles
- loadProfiles(trace);
- // Process mbean components that need to be exposed as ManagedDeployment/ManagedComponent
- for(ManagedMBeanDeploymentFactory mdf : mdfs.values())
- {
- log.debug("Processing deployments for factory: "+mdf.getFactoryName());
- Collection<MBeanDeployment> deployments = mdf.getDeployments(mbeanServer);
- for(MBeanDeployment md : deployments)
+ // Cleanup
+ release();
+
+ //
+ boolean trace = log.isTraceEnabled();
+
+ // load the profiles
+ loadProfiles(trace);
+
+ // Process mbean components that need to be exposed as ManagedDeployment/ManagedComponent
+ for(ManagedMBeanDeploymentFactory mdf : mdfs.values())
{
- log.debug("Saw MBeanDeployment: "+md);
- HashMap<String, ManagedObject> unitMOs = new HashMap<String, ManagedObject>();
- Collection<MBeanComponent> components = md.getComponents();
- if(components != null)
+ log.debug("Processing deployments for factory: "+mdf.getFactoryName());
+ Collection<MBeanDeployment> deployments = mdf.getDeployments(mbeanServer);
+ for(MBeanDeployment md : deployments)
{
- for(MBeanComponent comp : components)
+ log.debug("Saw MBeanDeployment: "+md);
+ HashMap<String, ManagedObject> unitMOs = new HashMap<String, ManagedObject>();
+ Collection<MBeanComponent> components = md.getComponents();
+ if(components != null)
{
- log.debug("Saw MBeanComponent: "+comp);
- try
+ for(MBeanComponent comp : components)
{
- ManagedObject mo = createManagedObject(comp.getName(), mdf.getDefaultViewUse());
-
- String name = comp.getName().getCanonicalName();
- ManagementObject moAnn = createMOAnnotation(name, comp.getType(), comp.getSubtype());
+ log.debug("Saw MBeanComponent: "+comp);
+ try
+ {
+ ManagedObject mo = createManagedObject(comp.getName(), mdf.getDefaultViewUse());
- // Both the ManagementObject and ManagementComponent annotation need to be in the MO annotations
- mo.getAnnotations().put(ManagementObject.class.getName(), moAnn);
- ManagementComponent mcAnn = moAnn.componentType();
- mo.getAnnotations().put(ManagementComponent.class.getName(), mcAnn);
- unitMOs.put(name, mo);
+ String name = comp.getName().getCanonicalName();
+ ManagementObject moAnn = createMOAnnotation(name, comp.getType(), comp.getSubtype());
+
+ // Both the ManagementObject and ManagementComponent annotation need to be in the MO annotations
+ mo.getAnnotations().put(ManagementObject.class.getName(), moAnn);
+ ManagementComponent mcAnn = moAnn.componentType();
+ mo.getAnnotations().put(ManagementComponent.class.getName(), mcAnn);
+ unitMOs.put(name, mo);
+ }
+ catch(Exception e)
+ {
+ log.warn("Failed to create ManagedObject for: "+comp, e);
+ }
}
- catch(Exception e)
- {
- log.warn("Failed to create ManagedObject for: "+comp, e);
- }
}
+ ManagedDeploymentImpl mdi = new ManagedDeploymentImpl(md.getName(), md.getName(), null, unitMOs);
+ mdi.setTypes(Collections.singleton("external-mbean"));
+ try
+ {
+ processManagedDeployment(mdi, null, DeploymentState.STARTED, 0, trace);
+ }
+ catch(Exception e)
+ {
+ log.warn("Failed to process ManagedDeployment for: " + md.getName(), e);
+ }
}
- ManagedDeploymentImpl mdi = new ManagedDeploymentImpl(md.getName(), md.getName(), null, unitMOs);
- mdi.setTypes(Collections.singleton("external-mbean"));
+ }
+
+ // Process the bootstrap deployments
+ for(ManagedDeployment md : bootstrapManagedDeployments.values())
+ {
try
{
- processManagedDeployment(mdi, null, DeploymentState.STARTED, 0, trace);
+ //
+ processManagedDeployment(md, null, DeploymentState.STARTED, 0, trace);
}
catch(Exception e)
{
log.warn("Failed to process ManagedDeployment for: " + md.getName(), e);
}
}
- }
+ if(this.runtimeMOs.size() > 0)
+ log.warn("Failed to merged the following runtime ManagedObjects: "+runtimeMOs);
- // Process the bootstrap deployments
- for(ManagedDeployment md : bootstrapManagedDeployments.values())
- {
+ // Now create a ManagedDeployment for the platform beans
+ Map<String, ManagedObject> platformMBeanMOs = ManagementFactoryUtils.getPlatformMBeanMOs(managedObjFactory);
+ ManagedDeploymentImpl platformMBeans = new ManagedDeploymentImpl("JDK PlatformMBeans", "PlatformMBeans", null,
+ platformMBeanMOs);
+ List<ManagedObject> gcMbeans = ManagementFactoryUtils.getGarbageCollectorMXBeans(managedObjFactory);
+ Map<String, ManagedObject> gcMOs = new HashMap<String, ManagedObject>();
+ for (ManagedObject mo : gcMbeans)
+ gcMOs.put(mo.getName(), mo);
+ List<ManagedObject> mmMbeans = ManagementFactoryUtils.getMemoryManagerMXBeans(managedObjFactory);
+ Map<String, ManagedObject> mmMOs = new HashMap<String, ManagedObject>();
+ for (ManagedObject mo : mmMbeans)
+ mmMOs.put(mo.getName(), mo);
+ List<ManagedObject> mpoolMBeans = ManagementFactoryUtils.getMemoryPoolMXBeans(managedObjFactory);
+ Map<String, ManagedObject> mpoolMOs = new HashMap<String, ManagedObject>();
+ for (ManagedObject mo : mpoolMBeans)
+ mpoolMOs.put(mo.getName(), mo);
+ ManagedDeploymentImpl gcMD = new ManagedDeploymentImpl("GarbageCollectorMXBeans", "GarbageCollectorMXBeans",
+ null, gcMOs);
+ platformMBeans.getChildren().add(gcMD);
+ ManagedDeploymentImpl mmMD = new ManagedDeploymentImpl("MemoryManagerMXBeans", "MemoryManagerMXBeans", null, mmMOs);
+ platformMBeans.getChildren().add(mmMD);
+ ManagedDeploymentImpl mpoolMD = new ManagedDeploymentImpl("MemoryPoolMXBeans", "MemoryPoolMXBeans", null, mpoolMOs);
+ platformMBeans.getChildren().add(mpoolMD);
+
try
{
- //
- processManagedDeployment(md, null, DeploymentState.STARTED, 0, trace);
+ // Create the ManagedComponents
+ processManagedDeployment(platformMBeans, null, DeploymentState.STARTED, 0, trace);
}
catch(Exception e)
{
- log.warn("Failed to process ManagedDeployment for: " + md.getName(), e);
+ log.warn("Failed to process ManagedDeployments for the platform beans", e);
}
+
+ return true;
}
- if(this.runtimeMOs.size() > 0)
- log.warn("Failed to merged the following runtime ManagedObjects: "+runtimeMOs);
-
- // Now create a ManagedDeployment for the platform beans
- Map<String, ManagedObject> platformMBeanMOs = ManagementFactoryUtils.getPlatformMBeanMOs(managedObjFactory);
- ManagedDeploymentImpl platformMBeans = new ManagedDeploymentImpl("JDK PlatformMBeans", "PlatformMBeans", null,
- platformMBeanMOs);
- List<ManagedObject> gcMbeans = ManagementFactoryUtils.getGarbageCollectorMXBeans(managedObjFactory);
- Map<String, ManagedObject> gcMOs = new HashMap<String, ManagedObject>();
- for (ManagedObject mo : gcMbeans)
- gcMOs.put(mo.getName(), mo);
- List<ManagedObject> mmMbeans = ManagementFactoryUtils.getMemoryManagerMXBeans(managedObjFactory);
- Map<String, ManagedObject> mmMOs = new HashMap<String, ManagedObject>();
- for (ManagedObject mo : mmMbeans)
- mmMOs.put(mo.getName(), mo);
- List<ManagedObject> mpoolMBeans = ManagementFactoryUtils.getMemoryPoolMXBeans(managedObjFactory);
- Map<String, ManagedObject> mpoolMOs = new HashMap<String, ManagedObject>();
- for (ManagedObject mo : mpoolMBeans)
- mpoolMOs.put(mo.getName(), mo);
- ManagedDeploymentImpl gcMD = new ManagedDeploymentImpl("GarbageCollectorMXBeans", "GarbageCollectorMXBeans",
- null, gcMOs);
- platformMBeans.getChildren().add(gcMD);
- ManagedDeploymentImpl mmMD = new ManagedDeploymentImpl("MemoryManagerMXBeans", "MemoryManagerMXBeans", null, mmMOs);
- platformMBeans.getChildren().add(mmMD);
- ManagedDeploymentImpl mpoolMD = new ManagedDeploymentImpl("MemoryPoolMXBeans", "MemoryPoolMXBeans", null, mpoolMOs);
- platformMBeans.getChildren().add(mpoolMD);
-
- try
+ finally
{
- // Create the ManagedComponents
- processManagedDeployment(platformMBeans, null, DeploymentState.STARTED, 0, trace);
+ if(wasInterrupted)
+ {
+ Thread.currentThread().interrupt();
+ log.trace("Restored interrupted state of calling thread");
+ }
}
- catch(Exception e)
- {
- log.warn("Failed to process ManagedDeployments for the platform beans", e);
- }
-
- if(wasInterrupted)
- {
- Thread.currentThread().interrupt();
- log.debug("Restored interrupted state of calling thread");
- }
- return true;
}
public void reload()
More information about the jboss-cvs-commits
mailing list