# HG changeset patch # User emcmanus # Date 1228843827 -3600 # Node ID 08644ea24ce6e76020dd3876187cc1a7303bf74d # Parent d2b5c71d87718d1dcdb6252ebec86e1dc84c697c 6780803: Wrong parameter name in description of EventClient::addListeners() 6470295: Misleading exception message says context classloader when it isn't 6714954: Description of MBeanPermission checking in MBeanServer javadoc is inaccurate 6732037: Event Service spec needs more detail about Executor use 6740900: Specify that listeners invoked via SendNotification should not block 6778436: Typo in @NotificationInfos spec Reviewed-by: dfuchs diff -r d2b5c71d8771 -r 08644ea24ce6 jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Tue Dec 09 17:41:59 2008 +0100 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Tue Dec 09 18:30:27 2008 +0100 @@ -645,7 +645,7 @@ } } catch (ClassNotFoundException e) { throw new ReflectionException(e, - "The MBean class could not be loaded by the context classloader"); + "The MBean class could not be loaded"); } return theClass; } diff -r d2b5c71d8771 -r 08644ea24ce6 jdk/src/share/classes/javax/management/MBeanRegistration.java --- a/jdk/src/share/classes/javax/management/MBeanRegistration.java Tue Dec 09 17:41:59 2008 +0100 +++ b/jdk/src/share/classes/javax/management/MBeanRegistration.java Tue Dec 09 18:30:27 2008 +0100 @@ -79,6 +79,9 @@ * } * * + *

(Listeners may be invoked in the same thread as the caller of + * {@code sender.sendNotification}.)

+ * *

A field to be injected must not be static. It is recommended that * such fields be declared {@code volatile}.

* diff -r d2b5c71d8771 -r 08644ea24ce6 jdk/src/share/classes/javax/management/MBeanServer.java --- a/jdk/src/share/classes/javax/management/MBeanServer.java Tue Dec 09 17:41:59 2008 +0100 +++ b/jdk/src/share/classes/javax/management/MBeanServer.java Tue Dec 09 18:30:27 2008 +0100 @@ -186,11 +186,11 @@ * caller's permissions must imply {@link * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) * MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}. - * Additionally, for each MBean that matches name, + * Additionally, for each MBean n that matches name, * if the caller's permissions do not imply {@link * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) - * MBeanPermission(mbeanServerName, className, null, name, "queryMBeans")}, the - * MBean server will behave as if that MBean did not exist.

+ * MBeanPermission(mbeanServerName, className, null, n, "queryMBeans")}, + * the MBean server will behave as if that MBean did not exist.

* *

Certain query elements perform operations on the MBean server. * If the caller does not have the required permissions for a given diff -r d2b5c71d8771 -r 08644ea24ce6 jdk/src/share/classes/javax/management/event/EventClient.java --- a/jdk/src/share/classes/javax/management/event/EventClient.java Tue Dec 09 17:41:59 2008 +0100 +++ b/jdk/src/share/classes/javax/management/event/EventClient.java Tue Dec 09 18:30:27 2008 +0100 @@ -187,9 +187,10 @@ * forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a * {@link FetchingEventRelay} object will be used. * @param distributingExecutor Used to distribute notifications to local - * listeners. If {@code null}, the thread that calls {@link - * EventReceiver#receive EventReceiver.receive} from the {@link EventRelay} - * object is used. + * listeners. Only one job at a time will be submitted to this Executor. + * If {@code distributingExecutor} is {@code null}, the thread that calls + * {@link EventReceiver#receive EventReceiver.receive} from the {@link + * EventRelay} object is used. * @param leaseScheduler An object that will be used to schedule the * periodic {@linkplain EventClientDelegateMBean#lease lease updates}. * If {@code null}, a default scheduler will be used. @@ -545,7 +546,7 @@ * *

The method returns the listeners which were added successfully. The * elements in the returned collection are a subset of the elements in - * {@code infoList}. If all listeners were added successfully, the two + * {@code listeners}. If all listeners were added successfully, the two * collections are the same. If no listener was added successfully, the * returned collection is empty.

* diff -r d2b5c71d8771 -r 08644ea24ce6 jdk/src/share/classes/javax/management/event/FetchingEventRelay.java --- a/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java Tue Dec 09 17:41:59 2008 +0100 +++ b/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java Tue Dec 09 18:30:27 2008 +0100 @@ -39,10 +39,18 @@ import javax.management.remote.NotificationResult; /** - * This class is an implementation of the {@link EventRelay} interface. It calls + *

This class is an implementation of the {@link EventRelay} interface. It calls * {@link EventClientDelegateMBean#fetchNotifications * fetchNotifications(String, long, int, long)} to get - * notifications and then forwards them to an {@link EventReceiver} object. + * notifications and then forwards them to an {@link EventReceiver} object.

+ * + *

A {@code fetchExecutor} parameter can be specified when creating a + * {@code FetchingEventRelay}. That is then the {@code Executor} that will + * be used to perform the {@code fetchNotifications} operation. Only one + * job at a time will be submitted to this {@code Executor}. The behavior + * is unspecified if {@link Executor#execute} throws an exception, including + * {@link java.util.concurrent.RejectedExecutionException + * RejectedExecutionException}. * * @since JMX 2.0 */