我正在使用JBoss运行的Web应用程序中使用Spring,每当请求进入应用程序时,我们的Web层就可以通过
访问Spring ApplicationContextApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext() );
我们在应用程序中添加了一些JMS Listener,它们也需要访问ApplicationContext,但是 遗憾的是,JMS Listeners无权访问HttpServletRequest api。
在Spring中访问MessageListener中的ApplicationContext的最佳做法是什么。我们的JMS监听器也通过弹簧配置文件注入。
答案 0 :(得分:2)
如果您的JMS侦听器本身就是Spring bean,正如您所建议的那样,为什么不直接将侦听器所需的资源连接到它?监听器就像任何其他bean一样 - 不要从上下文中获取bean ,让它们被注入。