ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(JMException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } catch(RuntimeException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
NotificationFilterSupport filter = new NotificationFilterSupport(); filter.enableType(eventType); this.addNotificationListener(JmxEventListener.getListener(), filter, listener);
/** * Sets up event listeners for this MBean as described in the descriptor. * The descriptor contains a map with layout {item -> Map[event:"...", from:ObjectName, callback:&Closure],...,} * * @param server the MBeanServer is to be registered. * @param descriptor a map containing info about the event */ public void addEventListeners(MBeanServer server, Map<String, Map<String, Object>> descriptor) { for (Map.Entry<String, Map<String, Object>> item : descriptor.entrySet()) { Map<String, Object> listener = item.getValue(); // register with server ObjectName broadcaster = (ObjectName) listener.get("from"); try { String eventType = (String) listener.get("event"); if (eventType != null) { NotificationFilterSupport filter = new NotificationFilterSupport(); filter.enableType(eventType); server.addNotificationListener(broadcaster, JmxEventListener.getListener(), filter, listener); } else { server.addNotificationListener(broadcaster, JmxEventListener.getListener(), null, listener); } } catch (InstanceNotFoundException e) { throw new JmxBuilderException(e); } } }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(JMException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } catch(RuntimeException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
/** * Matches any of the given notification types. * @see {@link NotificationFilterSupport#enableType(String)} */ public static NotificationFilter matchesTypes(String... types) { NotificationFilterSupport result = new NotificationFilterSupport(); for (String type : types) { result.enableType(type); } return result; }
/** * Initialises myself **/ private void init() { // just pickup a unique object this.myHandback = new Integer(Integer.MAX_VALUE); // allow only registration events this.myFilter = new NotificationFilterSupport(); this.myFilter.enableType(MBeanServerNotification.REGISTRATION_NOTIFICATION); }
/** * Matches any of the given notification types. * @see {@link NotificationFilterSupport#enableType(String)} */ public static NotificationFilter matchesTypes(String... types) { NotificationFilterSupport result = new NotificationFilterSupport(); for (String type : types) { result.enableType(type); } return result; }
/** * Initialises myself **/ private void init() { // just pickup a unique object this.myHandback = Integer.valueOf(Integer.MAX_VALUE); // allow only registration events this.myFilter = new NotificationFilterSupport(); this.myFilter.enableType(MBeanServerNotification.REGISTRATION_NOTIFICATION); }
private NotificationFilterSupport createFilter(List<String> pFilters) { if (pFilters != null) { NotificationFilterSupport filterSupport = new NotificationFilterSupport(); for (String f : pFilters) { filterSupport.enableType(f); } return filterSupport; } else { return null; } }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(JMException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } catch(RuntimeException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(JMException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } catch(RuntimeException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
/** * */ private DBEventStore(AlertPersistenceConfiguration aAlertPersistenceConfiguration , MBeanServerConnection aMBeanServer,PlatformContext aPlatformContext) { super(); mMBeanServer = aMBeanServer; mPlatformContext = aPlatformContext; mAlertPersistenceConfiguration = aAlertPersistenceConfiguration; mJndiName = aAlertPersistenceConfiguration.getDataSourceJndiName(); mTimerFilter = new NotificationFilterSupport(); if(mPlatformContext.isAdminServer()) { registerPolicyExecutionTimer(); } mShutdownInProgress = false; }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { server.registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(Exception e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
public void doStart() throws Exception { jmxServiceURL = new JMXServiceURL(protocol, host, port, urlPath); Map env = new HashMap(); if (applicationConfigName != null) { authenticator = new Authenticator(applicationConfigName, classLoader); env.put(JMXConnectorServer.AUTHENTICATOR, authenticator); } else { log.warn("Starting unauthenticating JMXConnector for " + jmxServiceURL); } server = JMXConnectorServerFactory.newJMXConnectorServer(jmxServiceURL, env, mbeanServer); NotificationFilterSupport filter = new NotificationFilterSupport(); filter.enableType(JMXConnectionNotification.OPENED); filter.enableType(JMXConnectionNotification.CLOSED); filter.enableType(JMXConnectionNotification.FAILED); server.addNotificationListener(authenticator, filter, null); server.start(); log.debug("Started JMXConnector " + server.getAddress()); }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { server.registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(Exception e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { server.registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(Exception e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
private void init() { MyListener listener = new MyListener(); NotificationFilterSupport filter = null; try { // get reference to MBean server Context ic = new InitialContext(); MBeanServerConnection server = (MBeanServerConnection) ic.lookup("jmx/invoker/RMIAdaptor"); // get reference to CacheMgmtInterceptor MBean String cacheName = "rhq.cache:subsystem=alerts,service=cache"; ObjectName mgmt_name = new ObjectName(cacheName); // configure a filter to only receive node created and removed events filter = new NotificationFilterSupport(); filter.disableAllTypes(); filter.enableType(CacheMgmtInterceptor.NOTIF_NODE_CREATED); filter.enableType(CacheMgmtInterceptor.NOTIF_NODE_REMOVED); filter.enableType(CacheMgmtInterceptor.NOTIF_NODE_MODIFIED); // register the listener with a filter // leave the filter null to receive all cache events server.addNotificationListener(mgmt_name, listener, filter, null); } catch (Exception e) { e.printStackTrace(); } }
/** * the INITTASKS calling connectToDS across ThreadGroups * should be executed with the keyword SEQUENTIAL * <p> * Must be invoked after the JMX agents have been created, started, and * connected using {@link hydra.AgentHelper}. */ public static void connectToDS() throws Exception { // Connect To DS connectToDSButDoNotAttachListeners(); //Register the stat alert notification listener as well. listener = new StatAlertNotificationListener(40); NotificationFilterSupport support = new NotificationFilterSupport(); support.enableType(AdminDistributedSystemJmxImpl.NOTIF_STAT_ALERT); mbsc.addNotificationListener(distributedSys, listener, support, new Object()); logger.info("Connected to JMX ADS " + distributedSys); }
ObjectName addLoggerMBean(Logger logger) { String name = logger.getName(); ObjectName objectName = null; try { LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); objectName = new ObjectName("log4j", "logger", name); if (!server.isRegistered(objectName)) { registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); nfs.enableType(ADD_APPENDER + logger.getName()); log.debug("---Adding logger [" + name + "] as listener."); nbs.addNotificationListener(loggerMBean, nfs, null); vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", "The " + name + " logger.", true, true, // this makes the object // clickable false)); } } catch(JMException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } catch(RuntimeException e) { log.error("Could not add loggerMBean for ["+name+"].", e); } return objectName; }
@Override protected Integer addListenerForMBeanRemovedNotif() throws IOException, InstanceNotFoundException { logger.trace("GenericClientNotifForwarder-" + "addListenerForMBeanRemovedNotif", "Add a listener to receive UNREGISTRATION_NOTIFICATION"); final NotificationFilterSupport clientFilter = new NotificationFilterSupport(); clientFilter.enableType(MBeanServerNotification.UNREGISTRATION_NOTIFICATION); final ObjectName[] names = { ClientIntermediary.delegateName }; final Object wrappedFilter = intermediary.serialization.wrap(clientFilter); final Object[] filters = { wrappedFilter }; final Object[] params = { names, filters }; try { final int code = MBeanServerRequestMessage.ADD_NOTIFICATION_LISTENERS; return (Integer) intermediary.mBeanServerRequest(code, params, null); } catch (final InstanceNotFoundException n) { throw n; } catch (final Exception e) { throw ClientIntermediary.appropriateException(e); } }