JMX(Java管理扩展)是标准的管理解决方案,在Java世界中。自JDK 1.5,它就存在与Java虚拟机中,尤其是在JEE应用服务器中使用JMX管理业务。
我热爱JMX. 这是一个很好的制作规范,创建在其他概念如失败的EJBs的基础上。 甚至超过十年后他仍然是唯一在java世界里涉及到管理的技术。尤其是是MBeans各层非常精炼,以非常简单的标准MBeans开始,以灵活开放的MBeans结束,令人印象深刻。
然而,一些先进的JMX概念并没有真的呼吁公众,现在实际上已经过时。附加的标准如JSR-77 并没有得到应用。再有就是 JSR-160,JMX远程处理。本规范是为了简化使用,致力于明显隐藏背后的技术细节进行远程通信调用,无论对MBean进行本地还是远程调用,都是(几乎)没有什么区别。不幸的是,底层的传输协议(RMI)和编程模型是以Java为中心的,是不能在java世界以外使用的。
这就是Jolokia的调用过程。它是一个基于代理的方法,与JSR-160一样使用,但使用更加开放的HTTP协议用JSON序列化有效载荷数据来传输业务。对于其他费Java客户端,这将打开一个全新的世界。除了该协议的开关,Jolokia 为JMX远程调用提供了新的处理功能,这是在JSR-160连接器中不存在的:允许对多个JMX业务的单个远程服务器进行批量传输请求。一个细粒度的安全机制可以在特定的JMX操作中限制JMX访问。以及其他比如JSR-160代理模式或历史记录跟踪等功能。
This reference manual explains the details of Jolokia. After an overview of Jolokia's architecture in Chapter 2, Architecture, installation and configuration of the various Jolokia agents are described in Chapter 3, Agents. Jolokia's security policy mechanism (Chapter 4, Security) and proxy mode (Chapter 5, Proxy Mode ) are covered in the following chapters. For implementors of Jolokia client bindings the protocol definition is probably the most interesting part (Chapter 6, Jolokia Protocol). Jolokia itself comes with the preregistered MBeans listed in Chapter 7, Jolokia MBeans. The available client bindings are described in Chapter 8, Clients.