提交 a4ba51d8 编写于 作者: E emcmanus

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
上级 2c83b1e0
...@@ -645,7 +645,7 @@ public class MBeanInstantiator { ...@@ -645,7 +645,7 @@ public class MBeanInstantiator {
} }
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
throw new ReflectionException(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; return theClass;
} }
......
...@@ -79,6 +79,9 @@ package javax.management; ...@@ -79,6 +79,9 @@ package javax.management;
* } * }
* </pre> * </pre>
* *
* <p>(Listeners may be invoked in the same thread as the caller of
* {@code sender.sendNotification}.)</p>
*
* <p>A field to be injected must not be static. It is recommended that * <p>A field to be injected must not be static. It is recommended that
* such fields be declared {@code volatile}.</p> * such fields be declared {@code volatile}.</p>
* *
......
...@@ -186,11 +186,11 @@ import javax.management.loading.ClassLoaderRepository; ...@@ -186,11 +186,11 @@ import javax.management.loading.ClassLoaderRepository;
* caller's permissions must imply {@link * caller's permissions must imply {@link
* MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
* MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}. * MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}.
* Additionally, for each MBean that matches <code>name</code>, * Additionally, for each MBean <em>n</em> that matches <code>name</code>,
* if the caller's permissions do not imply {@link * if the caller's permissions do not imply {@link
* MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
* MBeanPermission(mbeanServerName, className, null, name, "queryMBeans")}, the * MBeanPermission(mbeanServerName, className, null, <em>n</em>, "queryMBeans")},
* MBean server will behave as if that MBean did not exist.</p> * the MBean server will behave as if that MBean did not exist.</p>
* *
* <p>Certain query elements perform operations on the MBean server. * <p>Certain query elements perform operations on the MBean server.
* If the caller does not have the required permissions for a given * If the caller does not have the required permissions for a given
......
...@@ -187,9 +187,10 @@ public class EventClient implements EventConsumer, NotificationManager { ...@@ -187,9 +187,10 @@ public class EventClient implements EventConsumer, NotificationManager {
* forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a * forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a
* {@link FetchingEventRelay} object will be used. * {@link FetchingEventRelay} object will be used.
* @param distributingExecutor Used to distribute notifications to local * @param distributingExecutor Used to distribute notifications to local
* listeners. If {@code null}, the thread that calls {@link * listeners. Only one job at a time will be submitted to this Executor.
* EventReceiver#receive EventReceiver.receive} from the {@link EventRelay} * If {@code distributingExecutor} is {@code null}, the thread that calls
* object is used. * {@link EventReceiver#receive EventReceiver.receive} from the {@link
* EventRelay} object is used.
* @param leaseScheduler An object that will be used to schedule the * @param leaseScheduler An object that will be used to schedule the
* periodic {@linkplain EventClientDelegateMBean#lease lease updates}. * periodic {@linkplain EventClientDelegateMBean#lease lease updates}.
* If {@code null}, a default scheduler will be used. * If {@code null}, a default scheduler will be used.
...@@ -545,7 +546,7 @@ public class EventClient implements EventConsumer, NotificationManager { ...@@ -545,7 +546,7 @@ public class EventClient implements EventConsumer, NotificationManager {
* *
* <P>The method returns the listeners which were added successfully. The * <P>The method returns the listeners which were added successfully. The
* elements in the returned collection are a subset of the elements in * 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 * collections are the same. If no listener was added successfully, the
* returned collection is empty.</p> * returned collection is empty.</p>
* *
......
...@@ -39,10 +39,18 @@ import javax.management.MBeanException; ...@@ -39,10 +39,18 @@ import javax.management.MBeanException;
import javax.management.remote.NotificationResult; import javax.management.remote.NotificationResult;
/** /**
* This class is an implementation of the {@link EventRelay} interface. It calls * <p>This class is an implementation of the {@link EventRelay} interface. It calls
* {@link EventClientDelegateMBean#fetchNotifications * {@link EventClientDelegateMBean#fetchNotifications
* fetchNotifications(String, long, int, long)} to get * 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.</p>
*
* <p>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 * @since JMX 2.0
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册