RFR: 8332303: Better JMX interoperability with older JDKs, after removing Subject Delegation [v3]

Alan Bateman alanb at openjdk.org
Fri May 17 10:38:04 UTC 2024


On Thu, 16 May 2024 20:17:18 GMT, Kevin Walls <kevinw at openjdk.org> wrote:

>> Running JConsole from a previous JDK, and attaching to jdk-23 (after [JDK-8326666](https://bugs.openjdk.org/browse/JDK-8326666): Remove the Java Management Extension (JMX) Subject Delegation feature), the MBean tab is blank.
>> 
>> In javax/management/remote/rmi/RMIConnectionImpl.java:
>> addNotificationListener rejects a non-null delegationSubjects array, but older JDKs will send such an array. It could accept the array, and only reject/throw if it contains a non-null Subject (i.e. if an attempt to use subject delegation is really happening).
>> 
>> Manually testing JConsole, the MBean tab is fully populated and usable.
>
> Kevin Walls has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - add an 'also'
>  - typo

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 961:

> 959:      * @param delegationSubjects should be {@code null}, but a non-null
> 960:      * array is also accepted for compatibility reasons, which must not
> 961:      * contain any non-null entries.

The wording is bit unusual for a parameter description. Just wondering if might be clearer to say "null or an array of null elements" and put add an `@apiNote` to explain that it allows an array with null elements for compatibility reasons. What you have is okay too course, I'm just trying to think of another way to present this odd case.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19253#discussion_r1604740107


More information about the serviceability-dev mailing list