Я новичок в Java Spring, поэтому у меня могут возникнуть некоторые трудности с объяснением моих настроек.
У меня есть Java Spring Web Application, содержащее сервлет, которому требуется доступ к Бину. Однако проблема заключается в том, что Бин находится в другом общем файле проекта xml, который загружается при загрузке приложения.
Проект C
общий контекст. xml
<bean id="common-bean" ...>
CommonLoader.class
protected AbstractApplicationContext mContext;
public void start(String[] pArgs) {
mContext = new ClassPathXmlApplicationContext("common-context.xml");
}
В другом проекте A у меня есть сервлет, которому требуется доступ к общему компоненту, однако он не может найти компонент.
Проект A
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ApplicationContext mAppContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
for (String name : mAppContext.getBeanDefinitionNames()) {
System.out.println(name);
}
}
Однако ничего не найдено, хотя я точно знаю, что из-за журналов работает common-bean. Я думаю, потому что они работают в отдельных ApplicationContexts, они не могут общаться друг с другом, даже если они находятся в одном приложении Java.
Есть ли какой-нибудь способ для них связаться или передать бин непосредственно сервлету?