JMX has the notion of mbean info containing meta-data about an mbean's signature.
In the current JMX implementation there is the notion of descriptors allowing
the user to describe mbean info as either immutable (can be cached) or mutable, and
with mutable, the descriptor for a suggestion of caching interval for a client to use.
It's very hard to calculate that interval!
The suggestion is to introduce a new notification type, say, JMX.mbean.info.changed, that would allow the mbean to inform the layers above that its signature had changed in an asynchronous manner, and if this is supported, to have the notification type available in the notification info. That way, a caching layer could listen to these notifications to keep its mbean info up to date, instead of a fairly arbitrary cache-time-to-live policy.
This could also have built-in support in the StandardEmitterMBean.
It would be nice to be able to put the new MBeanInfo value in the mbean payload (UserData) to avoid a round-trip to collect the new value. This may involve mapping to open-data.