本文整理汇总了Java中javax.management.AttributeChangeNotification类的典型用法代码示例。如果您正苦于以下问题:Java AttributeChangeNotification类的具体用法?Java AttributeChangeNotification怎么用?Java AttributeChangeNotification使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AttributeChangeNotification类属于javax.management包,在下文中一共展示了AttributeChangeNotification类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: if
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
示例2: isNotificationEnabled
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* <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()));
}
}
示例3: handleNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
@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());
}
}
示例4: sendNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
}
示例5: if
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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
*/
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);
}
示例6: isNotificationEnabled
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* <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>
*/
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()));
}
}
示例7: getNotificationInfo
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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();
}
示例8: sendAttributeChangeNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
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);
}
示例9: queueStateChangedNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
}
示例10: reset
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
示例11: reset
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
示例12: reset
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
示例13: handleNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
@Override
public void handleNotification(Notification notification, Object handback) {
echo("\n<notification>");
echo("\t<currentDatetime>" + DATE_FORMAT.format(Calendar.getInstance().getTime()) + "</currentDatetime>");
echo("\t<notificationTimestamp>" + notification.getTimeStamp() + "</notificationTimestamp>");
echo("\t<notificationDatetime>" + DATE_FORMAT.format(new Date(notification.getTimeStamp())) + "</notificationDatetime>");
echo("\t<configName>" + handback.toString() + "</configName>");
echo("\t<className>" + notification.getClass().getName() + "</className>");
echo("\t<source>" + notification.getSource() + "</source>");
echo("\t<type>" + notification.getType() + "</type>");
echo("\t<message>" + notification.getMessage() + "</message>");
if (notification instanceof AttributeChangeNotification) {
echo("\t<attributeChanges>");
AttributeChangeNotification acn = (AttributeChangeNotification) notification;
echo("\t\t<attributeName>" + acn.getAttributeName() + "</attributeName>");
echo("\t\t<attributeType>" + acn.getAttributeType() + "</attributeType>");
echo("\t\t<newValue>" + acn.getNewValue() + "</newValue>");
echo("\t\t<oldValue>" + acn.getOldValue() + "</oldValue>");
echo("\t</attributeChanges>");
}
echo("\n</notification>");
}
示例14: sendAttributeChangeNotification
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* 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);
}
示例15: isNotificationEnabled
import javax.management.AttributeChangeNotification; //导入依赖的package包/类
/**
* <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()));
}
}