[Batchserver-cvs] batchserver/src/org/jmonks/batchserver/framework/mgmtmntr/jmxmp/repository JMXMPRe
Brought to you by:
suresh_pragada
From: Suresh <sur...@us...> - 2006-03-21 04:29:18
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/mgmtmntr/jmxmp/repository In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13319 Added Files: JMXMPRepositoryMgmtMntrManager.java Log Message: no message --- NEW FILE: JMXMPRepositoryMgmtMntrManager.java --- package org.jmonks.batchserver.framework.mgmtmntr.jmxmp.repository; import java.io.IOException; import java.util.HashMap; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; import org.apache.log4j.Logger; import org.jmonks.batchserver.framework.JobContext; import org.jmonks.batchserver.framework.common.StatusCode; import org.jmonks.batchserver.framework.controller.JobController; import org.jmonks.batchserver.framework.mgmtmntr.*; /** * <p> * This is the concrete implementation of the MgmtMntrManager, which uses framework repository * as the lookup place to exchange the connector information between the client and server. * It uses the machine the job being run as a host machine to create the connector server and * the port will be chosen automatically by the implementation. *<br> * <pre> * <mgmt-mntr-config mgmt-mntr-class-name="org.jmonks.batchserver.framework.mgmtmntr.jmxmp.repository.JMXMPRepositoryMgmtMntrManager"> * </mgmt-mntr-config> * </pre> * </p> * * @author Suresh Pragada * @version 1.0 * @since 1.0 */ public class JMXMPRepositoryMgmtMntrManager extends MgmtMntrManager { private static Logger logger=Logger.getLogger(JMXMPRepositoryMgmtMntrManager.class); /** * JMX Messaging Protocol URL to be used to create the connector server. */ protected static final String JMXMP_SERVICE_URL = "service:jmx:jmxmp://"; protected JMXConnectorServer connectorServer=null; /** * Protected constructor to make sure this class will not be instantiated directly. */ protected JMXMPRepositoryMgmtMntrManager() { } /** * @see org.jmonks.batchserver.framework.mgmtmntr.MgmtMntrManager@init(java.util.Map) */ public void init(java.util.Map mgmtMntrManagerConfigProps) { logger.trace("Entering init") ; /** * This implementation does not require any properties in configuration file * for lookup information. */ logger.trace("Exiting init") ; } /** * @see org.jmonks.batchserver.framework.mgmtmntr.MgmtMntrManager@registerController(org.jmonks.batchserver.framework.controller.JobController) */ public boolean registerController(JobController controller) { logger.trace("Entering registerController") ; if(controller==null) throw new IllegalArgumentException("controller cannot be null for the registration"); boolean registered=false; try { JMXServiceURL jmxServiceURL=new JMXServiceURL(JMXMPRepositoryMgmtMntrManager.JMXMP_SERVICE_URL); MBeanServer mbeanServer=MBeanServerFactory.createMBeanServer(MgmtMntrManager.MBEAN_SERVER_NAME); connectorServer=JMXConnectorServerFactory.newJMXConnectorServer(jmxServiceURL, new HashMap(), mbeanServer); registered=JobContext.getReposiotry().registerJobMgmtMntrInfo(this.getJobName(), jmxServiceURL.toString()); } catch(IOException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); registered=false; } logger.trace("Exiting registerController") ; return registered; } /** * @see org.jmonks.batchserver.framework.mgmtmntr.MgmtMntrManager@unregisterController(org.jmonks.batchserver.framework.common.StatusCode) */ public boolean unregisterController(StatusCode controllerExitStatus) { logger.trace("Entering unregisterController") ; if(controllerExitStatus==null) throw new IllegalArgumentException("controller exist status code cannot be null to unregister the controller"); boolean unregistered=false; if(connectorServer!=null) { try { connectorServer.stop(); unregistered=JobContext.getReposiotry().unregisterJobMgmtMntrInfo(this.getJobName()); } catch(IOException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); unregistered=false; } } else unregistered=false; logger.trace("Exiting unregisterController") ; return unregistered; } } |