<< Back to previous view

[JMX-9] Eliminate several uses of reflection in java.jmx Created: 28/Oct/12  Updated: 04/May/16

Status: Open
Project: java.jmx
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Minor
Reporter: Andy Fingerhut Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

Attachments: Text File jmx-9-eliminate-reflection-v1.txt    
Patch: Code


There are a fair number of occurrences of reflection in java.jmx that can be eliminated with the addition of suitable type hints.

Comment by Andy Fingerhut [ 28/Oct/12 11:56 PM ]

jmx-9-eliminate-reflection-v1.txt dated Oct 28 2012 eliminates most reflection warnings from java.jmx.

I would recommend that you check the type hints carefully before applying this, in case I messed some of them up. I am not familiar with javax.management library usage. I simply did a lot of looking at method signatures for methods used in the code in the Java library docs.

In particular, I wasn't sure whether connection should be a javax.management.MBeanServer or MBeanServerConnection. MBeanServerConnection is good enough for most of the code, but for the .registerMBean method invocation in register-mbean it needs to be a MBeanServer to avoid reflection. Perhaps it should be MBeanServer everywhere? My main question is whether that would limit the code's generality too much.

Comment by Nick Bailey [ 16/Dec/12 5:07 PM ]

Well it shouldn't be MBeanServer everywhere. When using the with-connection macro connection is a RemoteMBeanServerConnection and 'registerMBean' isn't a defined method.

I'm thinking perhaps we just change register-mbean to always get the local JMX server rather than using the connection binding. You can't register mbeans with a remote jmx server.

Comment by Stuart Halloway [ 04/May/16 8:21 PM ]

Sorry, I saw this only after completing a similar (and inferior) change. The 0.3.3 maven release eliminates reflection warnings and punts on changing register-mbean. (The latter change seems fine to me, but I was trying to do one thing at a time).

Let me know if this has broken anything.

Generated at Sat Sep 23 20:36:49 CDT 2017 using JIRA 4.4#649-r158309.