mirror of git://gcc.gnu.org/git/gcc.git
Server.java (Server): Record the delegate.
2007-05-03 Andrew Haley <aph@redhat.com> * gnu/javax/management/Server.java (Server): Record the delegate. (registerMBean): Notify the delegate. (unregisterMBean): Likewise. (notify): New method. From-SVN: r124383
This commit is contained in:
parent
a45bce6e9f
commit
6696d65299
|
@ -1,3 +1,10 @@
|
||||||
|
2007-05-03 Andrew Haley <aph@redhat.com>
|
||||||
|
|
||||||
|
* gnu/javax/management/Server.java (Server): Record the delegate.
|
||||||
|
(registerMBean): Notify the delegate.
|
||||||
|
(unregisterMBean): Likewise.
|
||||||
|
(notify): New method.
|
||||||
|
|
||||||
2007-04-04 Francis Kung <fkung@redhat.com>
|
2007-04-04 Francis Kung <fkung@redhat.com>
|
||||||
|
|
||||||
* gnu/java/awt/peer/gtk/ComponentGraphics.java
|
* gnu/java/awt/peer/gtk/ComponentGraphics.java
|
||||||
|
|
|
@ -53,6 +53,7 @@ import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import javax.management.Attribute;
|
import javax.management.Attribute;
|
||||||
import javax.management.AttributeList;
|
import javax.management.AttributeList;
|
||||||
|
@ -75,6 +76,7 @@ import javax.management.MBeanRegistration;
|
||||||
import javax.management.MBeanRegistrationException;
|
import javax.management.MBeanRegistrationException;
|
||||||
import javax.management.MBeanServer;
|
import javax.management.MBeanServer;
|
||||||
import javax.management.MBeanServerDelegate;
|
import javax.management.MBeanServerDelegate;
|
||||||
|
import javax.management.MBeanServerNotification;
|
||||||
import javax.management.MBeanTrustPermission;
|
import javax.management.MBeanTrustPermission;
|
||||||
import javax.management.NotCompliantMBeanException;
|
import javax.management.NotCompliantMBeanException;
|
||||||
import javax.management.Notification;
|
import javax.management.Notification;
|
||||||
|
@ -136,6 +138,15 @@ public class Server
|
||||||
*/
|
*/
|
||||||
private Map listeners;
|
private Map listeners;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An MBean that emits notifications when an MBean is registered and
|
||||||
|
* unregistered with this server.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private final MBeanServerDelegate delegate;
|
||||||
|
|
||||||
|
static private final AtomicLong sequenceNumber = new AtomicLong(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialise the delegate name.
|
* Initialise the delegate name.
|
||||||
*/
|
*/
|
||||||
|
@ -171,6 +182,7 @@ public class Server
|
||||||
{
|
{
|
||||||
this.defaultDomain = defaultDomain;
|
this.defaultDomain = defaultDomain;
|
||||||
this.outer = outer;
|
this.outer = outer;
|
||||||
|
this.delegate = delegate;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
registerMBean(delegate, DELEGATE_NAME);
|
registerMBean(delegate, DELEGATE_NAME);
|
||||||
|
@ -1703,6 +1715,7 @@ public class Server
|
||||||
beans.put(name, new ServerInfo(obji, obj));
|
beans.put(name, new ServerInfo(obji, obj));
|
||||||
if (register != null)
|
if (register != null)
|
||||||
register.postRegister(Boolean.TRUE);
|
register.postRegister(Boolean.TRUE);
|
||||||
|
notify(name, MBeanServerNotification.REGISTRATION_NOTIFICATION);
|
||||||
return obji;
|
return obji;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2088,10 +2101,18 @@ public class Server
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
beans.remove(name);
|
beans.remove(name);
|
||||||
|
notify(name, MBeanServerNotification.UNREGISTRATION_NOTIFICATION);
|
||||||
if (register != null)
|
if (register != null)
|
||||||
register.postDeregister();
|
register.postDeregister();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void notify(ObjectName name, String type)
|
||||||
|
{
|
||||||
|
delegate.sendNotification
|
||||||
|
(new MBeanServerNotification
|
||||||
|
(type, DELEGATE_NAME, sequenceNumber.getAndIncrement(), name));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input stream which deserializes using the given classloader.
|
* Input stream which deserializes using the given classloader.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue