从JBoss到Tomcat的JMXProxy

Pet*_*der 10 java jboss tomcat jmx

我有多个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>
Run Code Online (Sandbox Code Playgroud)

Pau*_*cks 4

据我所知,JRMPProxyFactory 使用通过普通 ObjectName 规则找到的普通 MBean。除了在客户端 MBean 定义中之外,您不需要配置任何 IP 地址。如果您的 tomcat 是远程的,那么您应该使用JMXRemote委托给远程 MBean,并在每个 tomcat 中启用 JMXRemote 。

您可以使用tomcat 自己的代理 servlet作为更轻量级的替代方案,它不需要 JBoss 中的本地客户端。

您可能没有使用 Mule,但他们的页面使用 Tomcat JMX 的优点和缺点确实包含相当多的指导,当然还有一些优点和缺点。