在JMS侦听器中访问Spring Context的推荐方法

时间:2011-08-30 13:40:15

标签: spring jms

我正在使用JBoss运行的Web应用程序中使用Spring,每当请求进入应用程序时,我们的Web层就可以通过

访问Spring ApplicationContext
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext() );

我们在应用程序中添加了一些JMS Listener,它们也需要访问ApplicationContext,但是 遗憾的是,JMS Listeners无权访问HttpServletRequest api。

在Spring中访问MessageListener中的ApplicationContext的最佳做法是什么。我们的JMS监听器也通过弹簧配置文件注入。

1 个答案:

答案 0 :(得分:2)

如果您的JMS侦听器本身就是Spring bean,正如您所建议的那样,为什么不直接将侦听器所需的资源连接到它?监听器就像任何其他bean一样 - 不要从上下文中获取bean ,让它们被注入。