src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalMonitoredVm.java
Print this page
*** 141,160 ****
* Fire MonitoredVmStructureChanged events.
*
* @param inserted List of Monitor objects inserted.
* @param removed List of Monitor objects removed.
*/
! void fireMonitorStatusChangedEvents(List inserted, List removed) {
MonitorStatusChangeEvent ev = null;
! ArrayList registered = null;
synchronized (listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator i = registered.iterator(); i.hasNext(); /* empty */) {
! VmListener l = (VmListener)i.next();
// lazily create the event object;
if (ev == null) {
ev = new MonitorStatusChangeEvent(this, inserted, removed);
}
l.monitorStatusChanged(ev);
--- 141,161 ----
* Fire MonitoredVmStructureChanged events.
*
* @param inserted List of Monitor objects inserted.
* @param removed List of Monitor objects removed.
*/
! @SuppressWarnings("unchecked") // Cast of result of clone
! void fireMonitorStatusChangedEvents(List<Monitor> inserted, List<Monitor> removed) {
MonitorStatusChangeEvent ev = null;
! ArrayList<VmListener> registered = null;
synchronized (listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator<VmListener> i = registered.iterator(); i.hasNext(); /* empty */) {
! VmListener l = i.next();
// lazily create the event object;
if (ev == null) {
ev = new MonitorStatusChangeEvent(this, inserted, removed);
}
l.monitorStatusChanged(ev);
*** 188,199 ****
private class NotifierTask extends CountedTimerTask {
public void run() {
super.run();
try {
MonitorStatus status = getMonitorStatus();
! List inserted = status.getInserted();
! List removed = status.getRemoved();
if (!inserted.isEmpty() || !removed.isEmpty()) {
fireMonitorStatusChangedEvents(inserted, removed);
}
fireMonitorsUpdatedEvents();
--- 189,200 ----
private class NotifierTask extends CountedTimerTask {
public void run() {
super.run();
try {
MonitorStatus status = getMonitorStatus();
! List<Monitor> inserted = status.getInserted();
! List<Monitor> removed = status.getRemoved();
if (!inserted.isEmpty() || !removed.isEmpty()) {
fireMonitorStatusChangedEvents(inserted, removed);
}
fireMonitorsUpdatedEvents();