我有多个Tomcats和一个JBoss。
在JBoss中,我喜欢使用“JRMPProxyFactory”代理大约100个Tomcat的JMX-Beans。我有jboss中的所有接口,但我不知道我必须添加Tomcat的ip-addresses。
这是我的tomcat99-service.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
name="jboss.jmx:type=adaptor,name=Remote,protocol=jrmp,service=proxyFactory">
<depends optional-attribute-name="InvokerName">jboss:service=invoker,type=jrmp</depends>
<depends optional-attribute-name="TargetName">tomcat99:service=JMX</depends>
<attribute name="JndiName">Tomcat99Target</attribute>
<attribute name="InvokeTargetMethod">true</attribute>
<attribute name="ExportedInterfaces">myinterface</attribute>
</mbean>
</server>
答案 0 :(得分:4)
据我所知,JRMPProxyFactory使用普通的ObjectName规则找到的普通MBean。除了客户端MBean定义之外,您不需要配置任何IP地址。如果您的tomcats是远程的,那么您应该使用JMXRemote委派给远程MBean,并在每个tomcats中使用enable JMXRemote。
您可以使用tomcat's own proxy servlet作为轻量级替代品,而不需要JBoss中的本地客户端。
你可能没有使用Mule,但他们的页面The Pros and Cons of Using Tomcat JMX确实包含了不少指针,当然还有一些优点和缺点。