簡體   English   中英

JMX Spring連接到localhost而不指定服務器地址和端口

[英]JMX Spring connect to localhost without specifying the server address and port

我指的是這里

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/jmx.html#jmx-proxy

我正在嘗試連接到localhost MBeanServer並使用Spring Proxy執行某些操作。 問題是只指定ObjectName和ProxyInterface,我無法連接到localhost。 我可以通過指定MBeanProxyFactoryBean的服務器屬性來解決此問題。

這是我的spring context.xml

bean id="proxyWithoutServer" class="org.springframework.jmx.access.MBeanProxyFactoryBean"
          p:objectName="com.xxx.yyy"
          p:proxyInterface="com.MyInterface" 

bean id="proxyWithServer" class="org.springframework.jmx.access.MBeanProxyFactoryBean"
          p:objectName="com.xxx.yyy"
          p:proxyInterface="com.MyInterface" 
p:server-ref="clientConnector"

<bean id="clientConnector" class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean"
          p:serviceUrl="service:jmx:rmi://localhost/jndi/rmi://localhost:8001/jmxrmi" />

在Java代碼中,我只是這樣做

MyInterface myInterface = context.getBean("proxyWithoutServer");
myInterface.myMethod();

但這不起作用。 - 說無法連接到localhost

但如果我使用

MyInterface myInterface = context.getBean("proxyWithServer");
myInterface.myMethod();

這有效。

這里的問題是這個代碼將在多個服務器上運行,每個服務器上的jmx端口都不同。 所以我不想指定端口號。 因此我希望它的proxyWithoutServer版本能夠工作。 查看spring jmx文檔,如果我們嘗試連接到本地MBean Server,我們似乎不需要指定服務器端口。 我需要一些關於我在這里做錯的建議。

提前致謝

創建對MBeanServer的本地引用。

<context:mbean-server id="localMBeanServer"/>

然后在p:server-ref中使用localMBeanServer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM