javax.management.AttributeChangeNotification Java Examples
The following examples show how to use
javax.management.AttributeChangeNotification.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CommunicatorServer.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }
Example #2
Source File: ModelMBeanNotificationPublisher.java From spring-analysis-note with MIT License | 6 votes |
/** * Send the supplied {@link Notification} using the wrapped * {@link ModelMBean} instance. * @param notification the {@link Notification} to be sent * @throws IllegalArgumentException if the supplied {@code notification} is {@code null} * @throws UnableToSendNotificationException if the supplied {@code notification} could not be sent */ @Override public void sendNotification(Notification notification) { Assert.notNull(notification, "Notification must not be null"); replaceNotificationSourceIfNecessary(notification); try { if (notification instanceof AttributeChangeNotification) { this.modelMBean.sendAttributeChangeNotification((AttributeChangeNotification) notification); } else { this.modelMBean.sendNotification(notification); } } catch (MBeanException ex) { throw new UnableToSendNotificationException("Unable to send notification [" + notification + "]", ex); } }
Example #3
Source File: TestSlowQueryReport.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override public void handleNotification(Notification notification, Object handback) { notificationCount.incrementAndGet(); System.out.println("\nReceived notification:"); System.out.println("\tClassName: " + notification.getClass().getName()); System.out.println("\tSource: " + notification.getSource()); System.out.println("\tType: " + notification.getType()); System.out.println("\tMessage: " + notification.getMessage()); if (notification instanceof AttributeChangeNotification) { AttributeChangeNotification acn = (AttributeChangeNotification) notification; System.out.println("\tAttributeName: " + acn.getAttributeName()); System.out.println("\tAttributeType: " + acn.getAttributeType()); System.out.println("\tNewValue: " + acn.getNewValue()); System.out.println("\tOldValue: " + acn.getOldValue()); } }
Example #4
Source File: ModelMBeanNotificationPublisher.java From lams with GNU General Public License v2.0 | 6 votes |
/** * Send the supplied {@link Notification} using the wrapped * {@link ModelMBean} instance. * @param notification the {@link Notification} to be sent * @throws IllegalArgumentException if the supplied {@code notification} is {@code null} * @throws UnableToSendNotificationException if the supplied {@code notification} could not be sent */ @Override public void sendNotification(Notification notification) { Assert.notNull(notification, "Notification must not be null"); replaceNotificationSourceIfNecessary(notification); try { if (notification instanceof AttributeChangeNotification) { this.modelMBean.sendAttributeChangeNotification((AttributeChangeNotification) notification); } else { this.modelMBean.sendNotification(notification); } } catch (MBeanException ex) { throw new UnableToSendNotificationException("Unable to send notification [" + notification + "]", ex); } }
Example #5
Source File: BaseAttributeFilter.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
/** * <p>Test whether notification enabled for this event. * Return true if:</p> * <ul> * <li>This is an attribute change notification</li> * <li>Either the set of accepted names is empty (implying that all * attribute names are of interest) or the set of accepted names * includes the name of the attribute in this notification</li> * </ul> */ @Override public boolean isNotificationEnabled(Notification notification) { if (notification == null) return (false); if (!(notification instanceof AttributeChangeNotification)) return (false); AttributeChangeNotification acn = (AttributeChangeNotification) notification; if (!AttributeChangeNotification.ATTRIBUTE_CHANGE.equals(acn.getType())) return (false); synchronized (names) { if (names.size() < 1) return (true); else return (names.contains(acn.getAttributeName())); } }
Example #6
Source File: BaseModelMBean.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
/** * Send an <code>AttributeChangeNotification</code> to all registered * listeners. * * @param oldValue The original value of the <code>Attribute</code> * @param newValue The new value of the <code>Attribute</code> * * @exception MBeanException if an object initializer throws an * exception * @exception RuntimeOperationsException wraps IllegalArgumentException * when the specified notification is <code>null</code> or invalid */ @Override public void sendAttributeChangeNotification (Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException { // Calculate the class name for the change notification String type = null; if (newValue.getValue() != null) type = newValue.getValue().getClass().getName(); else if (oldValue.getValue() != null) type = oldValue.getValue().getClass().getName(); else return; // Old and new are both null == no change AttributeChangeNotification notification = new AttributeChangeNotification (this, 1, System.currentTimeMillis(), "Attribute value has changed", oldValue.getName(), type, oldValue.getValue(), newValue.getValue()); sendAttributeChangeNotification(notification); }
Example #7
Source File: SimpleStandard.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject("reset"); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #8
Source File: BaseModelMBean.java From Tomcat8-Source-Read with MIT License | 6 votes |
/** * Send an <code>AttributeChangeNotification</code> to all registered * listeners. * * @param notification The <code>AttributeChangeNotification</code> * that will be passed * * @exception MBeanException if an object initializer throws an * exception * @exception RuntimeOperationsException wraps IllegalArgumentException * when the specified notification is <code>null</code> or invalid */ @Override public void sendAttributeChangeNotification (AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException { if (notification == null) throw new RuntimeOperationsException (new IllegalArgumentException("Notification is null"), "Notification is null"); if (attributeBroadcaster == null) return; // This means there are no registered listeners if( log.isDebugEnabled() ) log.debug( "AttributeChangeNotification " + notification ); attributeBroadcaster.sendNotification(notification); }
Example #9
Source File: SimpleStandard.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #10
Source File: SimpleStandard.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject("reset"); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #11
Source File: CommunicatorServer.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }
Example #12
Source File: SimpleStandard.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject(); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #13
Source File: ScanManager.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
/** * Enqueue a state changed notification for the given states. **/ private void queueStateChangedNotification( long sequence, long time, ScanState old, ScanState current) { final AttributeChangeNotification n = new AttributeChangeNotification(SCAN_MANAGER_NAME,sequence,time, "ScanManager State changed to "+current,"State", ScanState.class.getName(),old.toString(),current.toString()); // Queue the notification. We have created an unlimited queue, so // this method should always succeed. try { if (!pendingNotifs.offer(n,2,TimeUnit.SECONDS)) { LOG.fine("Can't queue Notification: "+n); } } catch (InterruptedException x) { LOG.fine("Can't queue Notification: "+x); } }
Example #14
Source File: ScanManager.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
/** * Enqueue a state changed notification for the given states. **/ private void queueStateChangedNotification( long sequence, long time, ScanState old, ScanState current) { final AttributeChangeNotification n = new AttributeChangeNotification(SCAN_MANAGER_NAME,sequence,time, "ScanManager State changed to "+current,"State", ScanState.class.getName(),old.toString(),current.toString()); // Queue the notification. We have created an unlimited queue, so // this method should always succeed. try { if (!pendingNotifs.offer(n,2,TimeUnit.SECONDS)) { LOG.fine("Can't queue Notification: "+n); } } catch (InterruptedException x) { LOG.fine("Can't queue Notification: "+x); } }
Example #15
Source File: NotificationListenerTests.java From spring4-understanding with Apache License 2.0 | 6 votes |
@Override public void handleNotification(Notification notification, Object handback) { if (notification instanceof AttributeChangeNotification) { AttributeChangeNotification attNotification = (AttributeChangeNotification) notification; String attributeName = attNotification.getAttributeName(); Integer currentCount = (Integer) this.attributeCounts.get(attributeName); if (currentCount != null) { int count = currentCount.intValue() + 1; this.attributeCounts.put(attributeName, new Integer(count)); } else { this.attributeCounts.put(attributeName, new Integer(1)); } this.attributeHandbacks.put(attributeName, handback); } }
Example #16
Source File: SimpleStandard.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #17
Source File: SimpleStandard.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject(); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #18
Source File: ScanManager.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Enqueue a state changed notification for the given states. **/ private void queueStateChangedNotification( long sequence, long time, ScanState old, ScanState current) { final AttributeChangeNotification n = new AttributeChangeNotification(SCAN_MANAGER_NAME,sequence,time, "ScanManager State changed to "+current,"State", ScanState.class.getName(),old.toString(),current.toString()); // Queue the notification. We have created an unlimited queue, so // this method should always succeed. try { if (!pendingNotifs.offer(n,2,TimeUnit.SECONDS)) { LOG.fine("Can't queue Notification: "+n); } } catch (InterruptedException x) { LOG.fine("Can't queue Notification: "+x); } }
Example #19
Source File: CommunicatorServer.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }
Example #20
Source File: CommunicatorServer.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }
Example #21
Source File: SimpleStandard.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #22
Source File: CommunicatorServer.java From JDKSourceCode1.8 with MIT License | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }
Example #23
Source File: SimpleStandard.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject("reset"); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #24
Source File: SimpleStandard.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject("reset"); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #25
Source File: MX4JModelMBean.java From gemfirexd-oss with Apache License 2.0 | 6 votes |
public void sendAttributeChangeNotification(Attribute oldAttribute, Attribute newAttribute) throws MBeanException, RuntimeOperationsException { if (oldAttribute == null || newAttribute == null) throw new RuntimeOperationsException(new IllegalArgumentException(LocalizedStrings.MX4JModelMBean_ATTRIBUTE_CANNOT_BE_NULL.toLocalizedString())); if (!oldAttribute.getName().equals(newAttribute.getName())) throw new RuntimeOperationsException(new IllegalArgumentException(LocalizedStrings.MX4JModelMBean_ATTRIBUTE_NAMES_CANNOT_BE_DIFFERENT.toLocalizedString())); // TODO: the source must be the object name of the MBean if the listener was registered through MBeanServer Object oldValue = oldAttribute.getValue(); AttributeChangeNotification n = new AttributeChangeNotification(this, 1, System.currentTimeMillis(), "Attribute value changed", oldAttribute.getName(), oldValue == null ? null : oldValue.getClass().getName(), oldValue, newAttribute.getValue()); sendAttributeChangeNotification(n); }
Example #26
Source File: MBeanInfoFactory.java From wildfly-core with GNU Lesser General Public License v2.1 | 6 votes |
private MBeanNotificationInfo[] getNotifications() { List<MBeanNotificationInfo> notifications = new ArrayList<>(); for (Map.Entry<String, NotificationEntry> entry : resourceRegistration.getNotificationDescriptions(PathAddress.EMPTY_ADDRESS, true).entrySet()) { ModelNode descriptionModel = entry.getValue().getDescriptionProvider().getModelDescription(null); String description = descriptionModel.get(DESCRIPTION).asString(); String notificationType = entry.getKey(); MBeanNotificationInfo info = null; if (notificationType.equals(ModelDescriptionConstants.ATTRIBUTE_VALUE_WRITTEN_NOTIFICATION)) { info = new MBeanNotificationInfo(new String[]{AttributeChangeNotification.ATTRIBUTE_CHANGE}, AttributeChangeNotification.class.getName(), description); } else if (notificationType.equals(ModelDescriptionConstants.RESOURCE_ADDED_NOTIFICATION) || notificationType.equals(ModelDescriptionConstants.RESOURCE_REMOVED_NOTIFICATION)) { // do not expose these notifications as they are emitted by the JMImplementation:type=MBeanServerDelegate MBean. } else { info = new MBeanNotificationInfo(new String[]{notificationType}, Notification.class.getName(), description); } if (info != null) { notifications.add(info); } } return notifications.toArray(new MBeanNotificationInfo[notifications.size()]); }
Example #27
Source File: SimpleStandard.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject(); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #28
Source File: SimpleStandard.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * Operation: reset to their initial values the "State" and "NbChanges" * attributes of the "SimpleStandard" standard MBean. */ public void reset() { checkSubject(); AttributeChangeNotification acn = new AttributeChangeNotification(this, 0, 0, "NbChanges reset", "NbChanges", "Integer", new Integer(nbChanges), new Integer(0)); state = "initial state"; nbChanges = 0; nbResets++; sendNotification(acn); }
Example #29
Source File: BaseModelMBean.java From tomcatsrc with Apache License 2.0 | 6 votes |
/** * Send an <code>AttributeChangeNotification</code> to all registered * listeners. * * @param notification The <code>AttributeChangeNotification</code> * that will be passed * * @exception MBeanException if an object initializer throws an * exception * @exception RuntimeOperationsException wraps IllegalArgumentException * when the specified notification is <code>null</code> or invalid */ @Override public void sendAttributeChangeNotification (AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException { if (notification == null) throw new RuntimeOperationsException (new IllegalArgumentException("Notification is null"), "Notification is null"); if (attributeBroadcaster == null) return; // This means there are no registered listeners if( log.isDebugEnabled() ) log.debug( "AttributeChangeNotification " + notification ); attributeBroadcaster.sendNotification(notification); }
Example #30
Source File: CommunicatorServer.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
/** * Returns an array of MBeanNotificationInfo objects describing * the notification types sent by this CommunicatorServer. * There is only one type of notifications sent by the CommunicatorServer: * it is <tt>{@link javax.management.AttributeChangeNotification}</tt>, * sent when the <tt>State</tt> attribute of this CommunicatorServer * changes. */ @Override public MBeanNotificationInfo[] getNotificationInfo() { // Initialize notifInfos on first call to getNotificationInfo() // if (notifInfos == null) { notifInfos = new MBeanNotificationInfo[1]; String[] notifTypes = { AttributeChangeNotification.ATTRIBUTE_CHANGE}; notifInfos[0] = new MBeanNotificationInfo( notifTypes, AttributeChangeNotification.class.getName(), "Sent to notify that the value of the State attribute "+ "of this CommunicatorServer instance has changed."); } return notifInfos.clone(); }