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

Chris Plummer cjplummer at openjdk.org
Wed May 15 19:12:01 UTC 2024


On Wed, 15 May 2024 16:59:59 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.

I'm just trying to understand current and previous behavior of jconsole a bit better. It sounds like jconsole always passes a non-null `delegationSubjects`, which results in an UOE, and you've changed to code to accept it as long as the entries are all null,  resulting in no UOE and jconsole properly displaying the mbean tab. But what I don't understand is why we are seeing this issue with jconsole when it appears it is already passes null for the `delegationSubjects` argument, even back as far as JDK 8u.

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

PR Comment: https://git.openjdk.org/jdk/pull/19253#issuecomment-2113277694


More information about the serviceability-dev mailing list