📄 jmxagent.java
字号:
} mBeanServer = null; } initialized.set(false); } /** * {@inheritDoc} */ public void registered() { // nothing to do } /** * {@inheritDoc} */ public void unregistered() { // nothing to do } /** * Register a Java Service Wrapper agent. * @throws MuleException if registration failed */ protected void registerWrapperService() throws MuleException { // WrapperManager to support restarts final WrapperManagerAgent wmAgent = new WrapperManagerAgent(); if (muleContext.getRegistry().lookupAgent(wmAgent.getName()) == null) { muleContext.getRegistry().registerAgent(wmAgent); } } protected void registerStatisticsService() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { ObjectName on = jmxSupport.getObjectName(jmxSupport.getDomainName(muleContext) + ":type=org.mule.Statistics,name=AllStatistics"); StatisticsService mBean = new StatisticsService(); mBean.setMuleContext(muleContext); mBean.setEnabled(isEnableStatistics()); logger.debug("Registering statistics with name: " + on); mBeanServer.registerMBean(mBean, on); registeredMBeans.add(on); } protected void registerModelServices() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { for (Iterator iterator = muleContext.getRegistry().lookupObjects(Model.class).iterator(); iterator.hasNext();) { Model model = (Model) iterator.next(); ModelServiceMBean serviceMBean = new ModelService(model); String rawName = serviceMBean.getName() + "(" + serviceMBean.getType() + ")"; String name = jmxSupport.escape(rawName); ObjectName on = jmxSupport.getObjectName(jmxSupport.getDomainName(muleContext) + ":type=org.mule.Model,name=" + name); logger.debug("Registering model with name: " + on); mBeanServer.registerMBean(serviceMBean, on); registeredMBeans.add(on); } } protected void registerMuleService() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { ObjectName on = jmxSupport.getObjectName(jmxSupport.getDomainName(muleContext) + ":type=org.mule.MuleContext,name=MuleServerInfo"); MuleServiceMBean serviceMBean = new MuleService(muleContext); logger.debug("Registering mule with name: " + on); mBeanServer.registerMBean(serviceMBean, on); registeredMBeans.add(on); } protected void registerConfigurationService() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { ObjectName on = jmxSupport.getObjectName(jmxSupport.getDomainName(muleContext) + ":type=org.mule.Configuration,name=GlobalConfiguration"); MuleConfigurationServiceMBean serviceMBean = new MuleConfigurationService(muleContext.getConfiguration()); logger.debug("Registering configuration with name: " + on); mBeanServer.registerMBean(serviceMBean, on); registeredMBeans.add(on); } protected void registerServiceServices() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { String rawName; for (Iterator iterator = muleContext.getRegistry().lookupObjects(Service.class).iterator(); iterator.hasNext();) { rawName = ((Service) iterator.next()).getName(); final String name = jmxSupport.escape(rawName); ObjectName on = jmxSupport.getObjectName(jmxSupport.getDomainName(muleContext) + ":type=org.mule.Service,name=" + name); ServiceServiceMBean serviceMBean = new ServiceService(rawName); logger.debug("Registering service with name: " + on); mBeanServer.registerMBean(serviceMBean, on); registeredMBeans.add(on); } } protected void registerEndpointServices() throws NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException, MalformedObjectNameException { Iterator iter = muleContext.getRegistry().lookupObjects(Connector.class).iterator(); Connector connector; while (iter.hasNext()) { connector = (Connector) iter.next(); if (connector instanceof AbstractConnector) { for (Iterator iterator = ((AbstractConnector) connector).getReceivers().values().iterator(); iterator.hasNext();) { EndpointServiceMBean mBean = new EndpointService((MessageReceiver) iterator.next()); final String rawName = mBean.getName(); final String name = jmxSupport.escape(rawName); if (logger.isInfoEnabled()) { logger.info("Attempting to register service with name: " + jmxSupport.getDomainName(muleContext) + ":type=org.mule.Endpoint,service=" + jmxSupport.escape(mBean.getComponentName()) + ",name=" + name); } ObjectName on = jmxSupport.getObjectName( jmxSupport.getDomainName(muleContext) + ":type=org.mule.Endpoint,service=" + jmxSupport.escape(mBean.getComponentName()) + ",name=" + name); mBeanServer.registerMBean(mBean, on); registeredMBeans.add(on); logger.info("Registered Endpoint Service with name: " + on); } } else { logger.warn("Connector: " + connector + " is not an istance of AbstractConnector, cannot obtain Endpoint MBeans from it"); } } } protected void registerConnectorServices() throws MalformedObjectNameException, NotCompliantMBeanException, MBeanRegistrationException, InstanceAlreadyExistsException { Iterator iter = muleContext.getRegistry().lookupObjects(Connector.class).iterator(); while (iter.hasNext()) { Connector connector = (Connector) iter.next(); ConnectorServiceMBean mBean = new ConnectorService(connector); final String rawName = mBean.getName(); final String name = jmxSupport.escape(rawName); final String stringName = jmxSupport.getDomainName(muleContext) + ":type=org.mule.Connector,name=" + name; if (logger.isDebugEnabled()) { logger.debug("Attempting to register service with name: " + stringName); } ObjectName oName = jmxSupport.getObjectName(stringName); mBeanServer.registerMBean(mBean, oName); registeredMBeans.add(oName); logger.info("Registered Connector Service with name " + oName); } } /** * @return Returns the createServer. */ public boolean isCreateServer() { return createServer; } /** * @param createServer The createServer to set. */ public void setCreateServer(boolean createServer) { this.createServer = createServer; } /** * @return Returns the locateServer. */ public boolean isLocateServer() { return locateServer; } /** * @param locateServer The locateServer to set. */ public void setLocateServer(boolean locateServer) { this.locateServer = locateServer; } /** * @return Returns the connectorServerUrl. */ public String getConnectorServerUrl() { return connectorServerUrl; } /** * @param connectorServerUrl The connectorServerUrl to set. */ public void setConnectorServerUrl(String connectorServerUrl) { this.connectorServerUrl = connectorServerUrl; } /** * @return Returns the enableStatistics. */ public boolean isEnableStatistics() { return enableStatistics; } /** * @param enableStatistics The enableStatistics to set. */ public void setEnableStatistics(boolean enableStatistics) { this.enableStatistics = enableStatistics; } /** * @return Returns the mBeanServer. */ public MBeanServer getMBeanServer() { return mBeanServer; } /** * @param mBeanServer The mBeanServer to set. */ public void setMBeanServer(MBeanServer mBeanServer) { this.mBeanServer = mBeanServer; } /** * Getter for property 'connectorServerProperties'. * * @return Value for property 'connectorServerProperties'. */ public Map getConnectorServerProperties() { return connectorServerProperties; } /** * Setter for property 'connectorServerProperties'. Set to {@code null} to use defaults ({@link * #DEFAULT_CONNECTOR_SERVER_PROPERTIES}). Pass in an empty map to use no parameters. Passing a non-empty map will * replace defaults. * * @param connectorServerProperties Value to set for property 'connectorServerProperties'. */ public void setConnectorServerProperties(Map connectorServerProperties) { this.connectorServerProperties = connectorServerProperties; } /** * Getter for property 'jmxSupportFactory'. * * @return Value for property 'jmxSupportFactory'. */ public JmxSupportFactory getJmxSupportFactory() { return jmxSupportFactory; } /** * Setter for property 'jmxSupportFactory'. * * @param jmxSupportFactory Value to set for property 'jmxSupportFactory'. */ public void setJmxSupportFactory(JmxSupportFactory jmxSupportFactory) { this.jmxSupportFactory = jmxSupportFactory; } /** * Setter for property 'credentials'. * * @param newCredentials Value to set for property 'credentials'. */ public void setCredentials(final Map newCredentials) { this.credentials.clear(); if (newCredentials != null && !newCredentials.isEmpty()) { this.credentials.putAll(newCredentials); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -