我有两个 Spring 应用程序 applA 和 applB,在 Tomcat 中运行 - 都使用 jarX.jar 和 applicationContext-x.xml。
因此,对于每个应用程序,都会有一个在上述上下文中定义的特定 bean 的实例。
我正在使用注释通过 JMX 公开 bean 及其一些方法。现在我想编写一个调用bean方法的测试客户端,但有时我想调用applA中bean的方法,有时调用applB中bean的方法。
我怎么做?
我在每个应用程序中还有一个名为 jmxServerConfiguration 的 bean,但每个应用程序都使用不同的端口。
目前在我的 JMX 客户端中,我正在使用
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(applicationContextName);
theBean = beanFactory.getBean(BEAN_NAME);
但我总是得到applA的bean。我如何告诉它我想要 applB 还是 applA 的 bean?
我应该(如何?)使用
MBeanServerConnection connection = JmxUtils.getMBeanServerConnection(url);
并在 url 中指定不同的端口,具体取决于我想从中获取 bean 的应用程序?