spring - 使用线程池的 JMS 侦听器
问题描述
我正在使用一个 Spring 项目,其中我有一个 JMS 事件侦听器的实现来处理来自队列的消息。
准确地说,我使用的是 SQS (AWS) 队列。
一切正常。
我的观点是:我没有配置任何关于并发的东西,但我希望有更多的线程作为侦听器,以提高队列中消息处理的性能(速度)。
我正在考虑配置 ThreadPool (TaskExecutor) 并在我的消息处理方法上添加注释 @Async 的可能性。
因此,我将在我的侦听器中添加一个 onMessage 方法,在消息验证之后,我将调用此异步方法。
这是一个好习惯吗?使用这种方法会有一些问题吗?
我正在网上寻找这个,我发现我可以直接在侦听器上配置并发值。
我很困惑,有很多可能的方法可以做到这一点,我无法理解最好的方法。
这些是等效的解决方案吗?
解决方案
Do not use @Async
- simply increase the concurrency of the listener container and it will be handled for you automatically by spring-jms.
推荐阅读
- sql-server - 无法为 Integration Services 项目将目标服务器版本设置为 SQL Server 2012
- javascript - 在 Vue 应用程序模板中显示从 API 获取的数据,使用 ASYNC/AWAIT(Nativescript 游乐场)
- c# - 如何在 Web Api 应用程序中使用没有实体框架的 ADO .NET “一对多”获取数据?
- javascript - 如何在 Node 中使用 supertest 包附加来自同一目录的多个文件?
- ios - 如何将标签文本添加到 tableViewCell
- react-virtualized - React-virtualized - 是否可以使用自定义列?
- rxjs - 用于组合 RxJS Observables 的布尔代数助手
- java - 使用两个堆栈来计算中缀表达式
- android - android dev.中是否需要布尔代数知识?
- python - 即使最后一个命令(但不是第一个命令)引发异常,Try 块也会给出输出