src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/MonitoredHostProvider.java
Print this page
*** 244,284 ****
* interval.
* @param terminated Set of Integer objects containing the local
* Vm Identifiers of terminated JVMs since last
* interval.
*/
! private void fireVmStatusChangedEvents(Set active, Set started,
! Set terminated) {
! ArrayList registered = null;
VmStatusChangeEvent ev = null;
synchronized(listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator i = registered.iterator(); i.hasNext(); /* empty */) {
! HostListener l = (HostListener)i.next();
if (ev == null) {
ev = new VmStatusChangeEvent(this, active, started, terminated);
}
l.vmStatusChanged(ev);
}
}
/**
* Fire hostDisconnectEvent events.
*/
void fireDisconnectedEvents() {
! ArrayList registered = null;
HostEvent ev = null;
synchronized(listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator i = registered.iterator(); i.hasNext(); /* empty */) {
! HostListener l = (HostListener)i.next();
if (ev == null) {
ev = new HostEvent(this);
}
l.disconnected(ev);
}
--- 244,286 ----
* interval.
* @param terminated Set of Integer objects containing the local
* Vm Identifiers of terminated JVMs since last
* interval.
*/
! @SuppressWarnings("unchecked") // Cast of result of clone
! private void fireVmStatusChangedEvents(Set<Integer> active, Set<Integer> started,
! Set<Integer> terminated) {
! ArrayList<HostListener> registered = null;
VmStatusChangeEvent ev = null;
synchronized(listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator<HostListener> i = registered.iterator(); i.hasNext(); /* empty */) {
! HostListener l = i.next();
if (ev == null) {
ev = new VmStatusChangeEvent(this, active, started, terminated);
}
l.vmStatusChanged(ev);
}
}
/**
* Fire hostDisconnectEvent events.
*/
+ @SuppressWarnings("unchecked") // Cast of result of clone
void fireDisconnectedEvents() {
! ArrayList<HostListener> registered = null;
HostEvent ev = null;
synchronized(listeners) {
registered = (ArrayList)listeners.clone();
}
! for (Iterator<HostListener> i = registered.iterator(); i.hasNext(); /* empty */) {
! HostListener l = i.next();
if (ev == null) {
ev = new HostEvent(this);
}
l.disconnected(ev);
}
*** 290,300 ****
private class NotifierTask extends CountedTimerTask {
public void run() {
super.run();
// save the last set of active JVMs
! Set lastActiveVms = activeVms;
try {
// get the current set of active JVMs
activeVms = (HashSet<Integer>)vmManager.activeVms();
--- 292,302 ----
private class NotifierTask extends CountedTimerTask {
public void run() {
super.run();
// save the last set of active JVMs
! Set<Integer> lastActiveVms = activeVms;
try {
// get the current set of active JVMs
activeVms = (HashSet<Integer>)vmManager.activeVms();
*** 311,334 ****
if (activeVms.isEmpty()) {
return;
}
! Set<Integer> startedVms = new HashSet<Integer>();
! Set<Object> terminatedVms = new HashSet<Object>();
! for (Iterator i = activeVms.iterator(); i.hasNext(); /* empty */ ) {
! Integer vmid = (Integer)i.next();
if (!lastActiveVms.contains(vmid)) {
// a new file has been detected, add to set
startedVms.add(vmid);
}
}
! for (Iterator i = lastActiveVms.iterator(); i.hasNext();
/* empty */ ) {
! Object o = i.next();
if (!activeVms.contains(o)) {
// JVM has terminated, remove it from the active list
terminatedVms.add(o);
}
}
--- 313,336 ----
if (activeVms.isEmpty()) {
return;
}
! Set<Integer> startedVms = new HashSet<>();
! Set<Integer> terminatedVms = new HashSet<>();
! for (Iterator<Integer> i = activeVms.iterator(); i.hasNext(); /* empty */ ) {
! Integer vmid = i.next();
if (!lastActiveVms.contains(vmid)) {
// a new file has been detected, add to set
startedVms.add(vmid);
}
}
! for (Iterator<Integer> i = lastActiveVms.iterator(); i.hasNext();
/* empty */ ) {
! Integer o = i.next();
if (!activeVms.contains(o)) {
// JVM has terminated, remove it from the active list
terminatedVms.add(o);
}
}