As far as I know Spring Integration has out of the box JMX support. What documentation says is that I can obtain numerous statistics regarding channels, routers, etc.
I have the following configuration added to Spring context file:
<context:mbean-server />
<context:mbean-export/>
However, only one element has been auto detected for JMX exposure. It is a simple delayer. I have multiple flows defined and no more elements are exposed through JMX. I have no clue what is wrong.
Are there any other configuration changes I need to make?
Thank you for any help.
You need to use
<int-jmx:mbean-export>
instead.Sorry for the short answer, but there is no more to say, if already have taken a look into Docs.
However here is a sample on the matter.
UPDATE
H-m. No, wrong sample. See Spring Integration tests.
UPDATE2
<context:mbean-export/>
registers MBeans for those Spring Beans which are@ManagedResource
. The<int-jmx:mbean-export>
goes a bit further and wraps to MBeans almost all Spring Integration components:channels
,MessageHandlers
,MessageSources
. And yes, adds for them@ManagedMetric
s.