Feb 16 2009
Exposing MBeans with Spring
Automatic registration of MBeans
Any beans that are exported through the MBeanExporter and are already valid MBeans are registered as-is with the MBeanServer without further intervention from Spring. MBeans can be automatically detected by the MBeanExporter by setting the autodetect property to true:
Here, the bean called spring:mbean=true is already a valid JMX MBean and will be automatically registered by Spring. By default, beans that are autodetected for JMX registration have their bean name used as the ObjectName.
Remark: The Spring documentation describes an auto-detection mechanism but omits a key fact. The bean name must have the form XXX:YYY=ZZZ
The example hints at that by using a name spring:mbean=true This is a rather strange name, implying that it is a magic value that indicates an auto detectable bean. The actual values do not matter with the parts of the name on either side of the colon being used to divide the beans into a two level heirarchy. This provides an easy way to structure the beans into a logical structure. Unfortunately, the rather clumsy name must be used for all references in the configuration. It is not possible to provide both a simple id and the JMX specific name.


I was trying to set up a JMX managed standalone Spring application and the article helped a lot. Thanks!!!
Hello, I found your post about the Spring mbeans in the WebSphere 6.1. I am new to Spring and JMX and looking for a step by step guide to register and calling by wsadmin some Spring’s mbeans provided by the app developer. I read your post and do understand the websphere naming strategy but where do I need to place this class WebsphereNamingStrategy ?
br
Mark
Hello Mark,
You can place your WebsphereNamingStrategy class where you want. For my part, I place it in an “util” package…
Cheers,
Gilles
Hello Gilles,
Thanks a lot for a quick response. I just have one question if there is any possibility to enable the Spring’s mbean in WAS 6.1 without adding any new code to the project ? I do not have the source code and do not want to extend the EAR file.
br
Mark
excellent info, thanks!
was trying to get this running on websphere and also figured out that websphere changes the objectnames of the mbeans..your sources saved a lot of time for me yeehaa