java - 两个 spring 应用程序,都使用特定的 jar 和应用程序上下文——我如何控制从上下文中获取 bean 的应用程序?

标签 java spring tomcat jmx spring-jmx

我有两个 Spring 应用程序,applA 和 applB,在 Tomcat 中运行 - 都使用 jarX.jar 和 applicationContext-x.xml。
因此,对于每个应用程序,将有一个特定 bean 的实例,在上述上下文中定义。
我使用注释通过 JMX 公开 bean 及其一些方法。 现在我想编写一个调用 bean 方法的测试客户端,但有时我想在 applA 中调用 bean 的方法,有时在 applB 中调用 bean 的方法。

我该怎么做?
我在每个应用程序中也有一个名为 jmxServerConfiguration 的 bean,但每个应用程序都使用不同的端口。

目前在我的 JMX 客户端中,我正在使用

获取 bean
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(applicationContextName);
theBean = beanFactory.getBean(BEAN_NAME);

但我总能得到 applA 的好处。我如何告诉它我想要 applB 还是 applA 的 bean?

我是否应该(如何?)使用

MBeanServerConnection connection = JmxUtils.getMBeanServerConnection(url);

并根据我想从中获取 bean 的应用程序,在 url 中指定不同的端口?

最佳答案

将 MBean 导出器上的 default-domain 设置为每个应用程序的不同值,并使用适当的 ObjectName 通过 JMX 访问 bean。

关于java - 两个 spring 应用程序,都使用特定的 jar 和应用程序上下文——我如何控制从上下文中获取 bean 的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23458051/

相关文章:

java - 64 位升级后关闭 Tomcat JVM 服务的时间更长

java - Mongodb 更改流 "not authorized to execute command"

java - 如何对 Criteria 查询执行多态显式查询?

spring - ArrayList 无法转换为 org.springframework.batch.core.JobParameter

java - Spring RMI 远程注解配置

hibernate - @Transaction 问题 : TransactionSynchronization. beforeCompletion 抛出异常

tomcat - 部署 war tomcat 时出错

java - Foo 的实现类可以称为 Foo 的扩展类吗?

java - SAXParser 不从 URL 检索 XML 数据

tomcat - 如何在应用程序上下文级别处理 404