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

发布于 2024-12-02 14:55:54 字数 450 浏览 0 评论 0原文

我正在使用 Spring 的 JBoss 中运行的 Web 应用程序中工作,每当请求进入应用程序时,我们的 Web 层就可以通过以下方式访问 Spring ApplicationContext

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

我们在应用程序中添加了一些也需要访问 ApplicationContext 的 JMS 侦听器,但是 不幸的是,JMS 侦听器无法访问 HttpServletRequest api。

Spring 中访问 MessageListener 内的 ApplicationContext 的最佳实践是什么?我们的 JMS 监听器也通过我们的 spring 配置文件注入。

I am working in a Web Application running in JBoss that utilizes Spring and whenever requests come into the application our web layer gets access to the Spring ApplicationContext via

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

We are adding some JMS Listeners in our application that also need access to ApplicationContext, but
unfortunately the JMS Listeners don't have access to the HttpServletRequest api.

What is the best practice in Spring to get access to the ApplicationContext inside a MessageListener. Our JMS Listeners are also injected via our spring configuration files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

同展鸳鸯锦 2024-12-09 14:55:54

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

If your JMS listeners are themselves Spring beans, as you suggest, then why not just wire the resources needed by the listener directly into it? The listener is just like any other bean - don't fetch the beans from the context, have them injected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文