我試圖訪問MessageHandler端點以通過JMX啓動和停止該服務。我在我的上下文文件中有下面的配置。我可以通過JConsole訪問啓動/停止方法。以編程方式訪問通過JMX公開的MessageHandlers
我也能夠從基於spring的客戶端使用MBeanServerConnectionFactoryBean訪問端點。
現在我想訪問使用MBeanProxyFactoryBean的端點,以便我可以直接調用方法,就好像bean是本地一樣。這似乎並不奏效。
你能看到我的配置下面,並建議什麼是錯的或什麼更多需要做?
的Server.xml
<int-jms:message-driven-channel-adapter id="jmsIn"
connection-factory="connectionFactory" concurrent-consumers="3" max-concurrent-consumers="5"
destination-name="emsQueue" acknowledge="transacted" channel="jmsInChannel"
extract-payload="false" />
<integration:service-activator id="serviceAct" input-channel="jmsInChannel" output-channel="fileNamesChannel"
ref="handler" method="process" />
client.xml的
<bean id="mBeanServerClient" class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean">
<property name="serviceUrl" value="service:jmx:rmi:///jndi/rmi://localhost:9004/jmxrmi" />
</bean>
<bean id="jmxClient" class="com.abc.test.IBalJMXClient">
<property name="connection" ref="mBeanServerClient" />
</bean>
<bean id="remoteJMSMBean" class="org.springframework.jmx.access.MBeanProxyFactoryBean">
<property name="objectName" value="com.abc.test:name=serviceAct" />
<property name="server" ref="mBeanServerClient" />
<property name="proxyInterface" value="com.abc.client.intf.IBalJMSController" />
</bean>
IBalJMSController是在我所定義的啓動()的界面處,停止()和isRunning()方法,這樣我可以從任何班級訪問它。
當我嘗試測試它時,我得到調用異常。 任何建議將不勝感激
感謝您的回答。我之前沒有收到任何回覆,所以我在這裏添加了它。 – shashikanthb