List of usage examples for javax.management.relation RelationNotification RELATION_MBEAN_UPDATE
String RELATION_MBEAN_UPDATE
To view the source code for javax.management.relation RelationNotification RELATION_MBEAN_UPDATE.
Click Source Link
From source file:org.zenoss.jmxnl.NotificationListener.java
public void handleNotification(Notification notification, Object obj) { Boolean sendEvent = true;// w w w . j a v a2 s. c om Boolean reconnect = false; String type = notification.getType(); Map<String, String> evt = new HashMap<String, String>(); evt.put("device", (String) obj); evt.put("severity", "2"); evt.put("eventClassKey", type); if (notification instanceof JMXConnectionNotification) { if (type.equals(JMXConnectionNotification.CLOSED)) { sendConnectionEvent("4", "JMX connection has been closed"); reconnect = true; } else if (type.equals(JMXConnectionNotification.FAILED)) { sendConnectionEvent("4", "JMX connection has failed"); reconnect = true; } else if (type.equals(JMXConnectionNotification.NOTIFS_LOST)) { sendConnectionEvent("3", "JMX connection has possibly lost notifications"); } else if (type.equals(JMXConnectionNotification.OPENED)) { sendConnectionEvent("0", "JMX connection has been opened"); } // Event has already been sent sendEvent = false; } else if (notification instanceof AttributeChangeNotification) { AttributeChangeNotification notif = (AttributeChangeNotification) notification; evt.put("component", notif.getAttributeName()); evt.put("eventKey", notif.getSource().toString() + ":" + notif.getAttributeName()); evt.put("summary", "Attribute changed from " + notif.getOldValue() + " to " + notif.getNewValue()); } else if (notification instanceof MBeanServerNotification) { MBeanServerNotification notif = (MBeanServerNotification) notification; evt.put("severity", "1"); evt.put("component", notif.getMBeanName().getDomain()); evt.put("eventKey", notif.getMBeanName().toString()); if (type.equals(MBeanServerNotification.REGISTRATION_NOTIFICATION)) { evt.put("summary", "MBean Registered"); } else if (type.equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) { evt.put("summary", "MBean Unregistered"); } else { evt.put("summary", "Unknown MBean Server Notification"); } // These are too noisy and unlikely to be useful sendEvent = false; } else if (notification instanceof MonitorNotification) { MonitorNotification notif = (MonitorNotification) notification; evt.put("severity", "3"); evt.put("component", notif.getObservedObject().toString() + ":" + notif.getObservedAttribute()); if (type.equals(MonitorNotification.OBSERVED_ATTRIBUTE_ERROR)) { evt.put("summary", "Observed attribute not contained within the observed object"); } else if (type.equals(MonitorNotification.OBSERVED_ATTRIBUTE_TYPE_ERROR)) { evt.put("summary", "Type of the observed attribute is not correct"); } else if (type.equals(MonitorNotification.OBSERVED_OBJECT_ERROR)) { evt.put("summary", "The observed object is not registered in the MBean server"); } else if (type.equals(MonitorNotification.RUNTIME_ERROR)) { evt.put("summary", "Non pre-defined error has occurred"); } else if (type.equals(MonitorNotification.STRING_TO_COMPARE_VALUE_DIFFERED)) { evt.put("summary", "Attribute differs from the string to compare"); } else if (type.equals(MonitorNotification.STRING_TO_COMPARE_VALUE_MATCHED)) { evt.put("summary", "Attribute matched the string to compare"); } else if (type.equals(MonitorNotification.THRESHOLD_ERROR)) { evt.put("summary", "Type of threshold is not correct"); } else if (type.equals(MonitorNotification.THRESHOLD_HIGH_VALUE_EXCEEDED)) { evt.put("summary", "Attribute has exceeded the threshold high value"); } else if (type.equals(MonitorNotification.THRESHOLD_LOW_VALUE_EXCEEDED)) { evt.put("summary", "Attribute has exceeded the threshold low value"); } else if (type.equals(MonitorNotification.THRESHOLD_VALUE_EXCEEDED)) { evt.put("summary", "Attribute has reached the threshold value"); } else { evt.put("summary", "Unknown Monitor Notification"); } } else if (notification instanceof RelationNotification) { RelationNotification notif = (RelationNotification) notification; evt.put("component", notif.getRelationId()); if (type.equals(RelationNotification.RELATION_BASIC_CREATION)) { evt.put("summary", "Internal relation created"); } else if (type.equals(RelationNotification.RELATION_BASIC_REMOVAL)) { evt.put("summary", "Internal relation removed"); } else if (type.equals(RelationNotification.RELATION_BASIC_UPDATE)) { evt.put("summary", "Internal relation updated"); } else if (type.equals(RelationNotification.RELATION_MBEAN_CREATION)) { evt.put("summary", "MBean relation created"); } else if (type.equals(RelationNotification.RELATION_MBEAN_REMOVAL)) { evt.put("summary", "MBean relation removed"); } else if (type.equals(RelationNotification.RELATION_MBEAN_UPDATE)) { evt.put("summary", "MBean relation updated"); } } else { if (notification.getMessage().equals("")) { evt.put("summary", "Unknown JMX Notification Type"); } else { evt.put("summary", notification.getMessage()); } } if (sendEvent) { try { EventSender.getEventSender().sendEvent(evt); } catch (XmlRpcException e) { log.error("Error sending event: " + e); } } if (reconnect) { run(); } }