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); } }