org.hyperic.hq.product.server.mbean
Class ProductPluginDeployer
java.lang.Object
org.jboss.mx.util.JBossNotificationBroadcasterSupport
org.jboss.system.ServiceMBeanSupport
org.jboss.deployment.SubDeployerSupport
org.hyperic.hq.product.server.mbean.ProductPluginDeployer
- All Implemented Interfaces:
- java.util.Comparator, java.util.EventListener, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, javax.management.NotificationListener, org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean, org.jboss.deployment.SubDeployer, org.jboss.deployment.SubDeployerExt, org.jboss.deployment.SubDeployerExtMBean, org.jboss.deployment.SubDeployerMBean, org.jboss.system.Service, org.jboss.system.ServiceMBean
public class ProductPluginDeployer
- extends org.jboss.deployment.SubDeployerSupport
- implements javax.management.NotificationBroadcaster, javax.management.NotificationListener, org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean, java.util.Comparator
ProductPlugin deployer.
We accept $PLUGIN_DIR/*.{jar,xml}
| Nested classes/interfaces inherited from class org.jboss.deployment.SubDeployerSupport |
org.jboss.deployment.SubDeployerSupport.ClassConfiguration |
| Fields inherited from class org.jboss.deployment.SubDeployerSupport |
CONFIGURATION, enhancedSuffixes, mainDeployer, nativePrefix, nativeSuffix, relativeOrder, suffixes, tempDeployDir |
| Fields inherited from class org.jboss.system.ServiceMBeanSupport |
log, server, SERVICE_CONTROLLER_SIG, serviceName |
| Fields inherited from interface org.jboss.system.ServiceMBean |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED |
| Fields inherited from interface org.jboss.deployment.SubDeployer |
CREATE_NOTIFICATION, DESTROY_NOTIFICATION, INIT_NOTIFICATION, RELATIVE_ORDER_100, RELATIVE_ORDER_200, RELATIVE_ORDER_300, RELATIVE_ORDER_400, RELATIVE_ORDER_500, RELATIVE_ORDER_600, RELATIVE_ORDER_700, RELATIVE_ORDER_800, RELATIVE_ORDER_900, START_NOTIFICATION, STOP_NOTIFICATION |
| Methods inherited from class org.jboss.deployment.SubDeployerSupport |
addDeployableFiles, addDeployableJar, create, createService, deployUrl, destroy, destroyService, emitNotification, getEnhancedSuffixes, getRelativeOrder, getSuffixes, init, processNestedDeployments, setEnhancedSuffixes, setRelativeOrder, setSuffixes, startService, stopService |
| Methods inherited from class org.jboss.system.ServiceMBeanSupport |
create, destroy, getDeploymentInfo, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister |
| Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport |
handleNotification, nextNotificationSequenceNumber, removeNotificationListener, sendNotification |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.jboss.deployment.SubDeployerMBean |
create, destroy, getRelativeOrder, getServiceName, getSuffixes, init |
| Methods inherited from interface org.jboss.system.ServiceMBean |
getName, getState, getStateString, jbossInternalLifecycle |
| Methods inherited from interface org.jboss.system.Service |
create, destroy |
| Methods inherited from interface java.util.Comparator |
equals |
| Methods inherited from interface org.jboss.deployment.SubDeployer |
getServiceName |
ProductPluginDeployer
public ProductPluginDeployer()
handleNotification
public void handleNotification(javax.management.Notification n,
java.lang.Object o)
- This is called when the full server startup has occurred, and you
get the "Started in 30s:935ms" message.
We load all startup classes, then initialize the plugins. Currently
this is necesssary, since startup classes need to initialize the
application (creating callbacks, etc.), and plugins can't hit the
app until that's been done. Unfortunately, it also means that any
startup listeners that depend on plugins loaded through the deployer
won't work. So far that doesn't seem to be a problem, but if it
ends up being one, we can split the plugin loading into more stages so
that everyone has access to everyone.
- Specified by:
handleNotification in interface javax.management.NotificationListener- Specified by:
handleNotification in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
isDeployable
protected boolean isDeployable(java.lang.String name,
java.net.URL url)
- Overrides:
isDeployable in class org.jboss.deployment.SubDeployerSupport
addNotificationListener
public void addNotificationListener(javax.management.NotificationListener listener,
javax.management.NotificationFilter filter,
java.lang.Object handback)
- Specified by:
addNotificationListener in interface javax.management.NotificationBroadcaster- Overrides:
addNotificationListener in class org.jboss.mx.util.JBossNotificationBroadcasterSupport
removeNotificationListener
public void removeNotificationListener(javax.management.NotificationListener listener)
throws javax.management.ListenerNotFoundException
- Specified by:
removeNotificationListener in interface javax.management.NotificationBroadcaster- Overrides:
removeNotificationListener in class org.jboss.mx.util.JBossNotificationBroadcasterSupport
- Throws:
javax.management.ListenerNotFoundException
getNotificationInfo
public javax.management.MBeanNotificationInfo[] getNotificationInfo()
- Specified by:
getNotificationInfo in interface javax.management.NotificationBroadcaster- Overrides:
getNotificationInfo in class org.jboss.mx.util.JBossNotificationBroadcasterSupport
getProductPluginManager
public ProductPluginManager getProductPluginManager()
- Specified by:
getProductPluginManager in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
setPluginDir
public void setPluginDir(java.lang.String name)
- Specified by:
setPluginDir in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
getPluginDir
public java.lang.String getPluginDir()
- Specified by:
getPluginDir in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
getRegisteredPluginNames
public java.util.ArrayList getRegisteredPluginNames(java.lang.String type)
throws PluginException
- Specified by:
getRegisteredPluginNames in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getRegisteredPluginNames
public java.util.ArrayList getRegisteredPluginNames()
throws PluginException
- Specified by:
getRegisteredPluginNames in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getProductPluginCount
public int getProductPluginCount()
throws PluginException
- Specified by:
getProductPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getMeasurementPluginCount
public int getMeasurementPluginCount()
throws PluginException
- Specified by:
getMeasurementPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getControlPluginCount
public int getControlPluginCount()
throws PluginException
- Specified by:
getControlPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getAutoInventoryPluginCount
public int getAutoInventoryPluginCount()
throws PluginException
- Specified by:
getAutoInventoryPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getLogTrackPluginCount
public int getLogTrackPluginCount()
throws PluginException
- Specified by:
getLogTrackPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
getConfigTrackPluginCount
public int getConfigTrackPluginCount()
throws PluginException
- Specified by:
getConfigTrackPluginCount in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
setProperty
public void setProperty(java.lang.String name,
java.lang.String value)
- Specified by:
setProperty in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
getProperty
public java.lang.String getProperty(java.lang.String name)
- Specified by:
getProperty in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
getPluginInfo
public PluginInfo getPluginInfo(java.lang.String name)
throws PluginException
- Specified by:
getPluginInfo in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
- Throws:
PluginException
accepts
public boolean accepts(org.jboss.deployment.DeploymentInfo di)
- Specified by:
accepts in interface org.jboss.deployment.SubDeployer- Specified by:
accepts in interface org.jboss.deployment.SubDeployerMBean- Overrides:
accepts in class org.jboss.deployment.SubDeployerSupport
compare
public int compare(java.lang.Object o1,
java.lang.Object o2)
- Specified by:
compare in interface java.util.Comparator
isReady
public boolean isReady()
- Specified by:
isReady in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean
start
public void start()
throws java.lang.Exception
- MBean Service start method. This method is called when JBoss is deploying
the MBean, unfortunately, the dependencies that this has with
HighAvailService and with other components is such that the only thing
this method does is queue up the plugins that are ready for deployment.
The actual deployment occurs when the startDeployer() method is called.
- Specified by:
start in interface org.jboss.system.Service- Overrides:
start in class org.jboss.system.ServiceMBeanSupport
- Throws:
java.lang.Exception
stop
public void stop()
- Specified by:
stop in interface org.hyperic.hq.product.server.mbean.ProductPluginDeployerMBean- Specified by:
stop in interface org.jboss.system.Service- Overrides:
stop in class org.jboss.system.ServiceMBeanSupport
start
public void start(org.jboss.deployment.DeploymentInfo di)
throws org.jboss.deployment.DeploymentException
- Specified by:
start in interface org.jboss.deployment.SubDeployer- Specified by:
start in interface org.jboss.deployment.SubDeployerMBean- Overrides:
start in class org.jboss.deployment.SubDeployerSupport
- Throws:
org.jboss.deployment.DeploymentException
stop
public void stop(org.jboss.deployment.DeploymentInfo di)
throws org.jboss.deployment.DeploymentException
- Specified by:
stop in interface org.jboss.deployment.SubDeployer- Specified by:
stop in interface org.jboss.deployment.SubDeployerMBean- Overrides:
stop in class org.jboss.deployment.SubDeployerSupport
- Throws:
org.jboss.deployment.DeploymentException
Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.