I have a JMX enabled Java application (Java 1.5) sitting behind an HTTP proxy server. So I cannot access it directly through the JConsole.
A solution I imagine would be to have an in-VM JMX client in my application which collects the statistics and the configuration data from the JMX server and posts it to my external server periodically over HTTP through the proxy. My external server replies back with any configuration changes if needed and the in-VM JMX client propagates those changes to the JMX server which applies them to the application.
I'd guess this to be a scenario frequent enough to have solutions already addressing it. Is there any helper framework/library to enable such access over HTTP?
Not sure this is what you need, but there is a very nice JMX to REST bridge called Jolokia out there. If you add it to your application, you will be able to interact with JMX through REST interface that will be accessible via HTTP proxy like any other HTTP traffic. So not only you are tunneling JMX through HTTP, but you are also exposing it in much nicer format (JSON over HTTP).
It has pretty good documentation, also see my showcase.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With