An MXBean can very reasonably have an attribute of type JMXServiceURL, or of a class that contains a JMXServiceURL property. This might be used to define the complete address (connector address + ObjectName) of a remote MBean, for example. Currently the MXBean framework correctly determines that a JMXServiceURL can be represented using its properties protocol, host, port, and URLPath defined by the corresponding getters. But if you try to make a proxy for such an MXBean, it will fail when trying to reconstruct the JMXServiceURL from those properties. This can be trivially fixed by adding a @ConstructorProperties annotation to the constructor which has the four properties as its arguments.