我想从我的消息驱动 bean (MDB) 调用 Spring bean (@Component),但在获取对它的引用时遇到问题。我尝试了一个实现类org.springframework.context.ApplicationContextAware
,该类将 Spring ApplicationContext 存储在类的静态字段中MyAppContext
。MyAppContext
然后从 MDB 访问静态字段 in 。但是MyAppContext
是从不同的类加载器加载的。Spring 应用程序上下文在 web 模块类加载器上下文中正确设置,但在 MDB 的类加载器上下文中,它为空。
我可以以某种方式指示 JBoss 为 Web 应用程序和 MDB 使用相同的类加载器吗?
或者有比将 Spring 应用程序上下文存储在静态字段中更好的方法吗?
感谢您的任何建议!