我正在使用 camel quickfix 组件来获取不同货币对的市场价格。我订阅了大约 G20 货币对,所以我们得到了很多更新,我们的端点无法处理这样的负载,所以开始拒绝消息并记录错误。
Sending time accuracy problem
我正在考虑制作多线程,这样一个线程就可以处理更新的价格。我尝试了很多搜索,但没有找到满意的答案。
你能帮我解决这个问题吗?
最佳答案
有 3 种方法可以使用 Camel 进行多线程:
- SEDA 路线:在新线程中启动路线
- 用于并行处理的 JMS/ActiveMQ
- JPA : 使用数据库作为消息代理
一个带有 activemq 解决方案的例子:
<route> // quikfix endpoint route
<from uri="quickfix-server:META-INF/quickfix/server.cfg"/> // QuickFix engine who will receive the message from FIX gateway
<to uri="uri="activemq:queue:fix"/>"
</route>
<route> // parralize route
<from uri="activemq:queue:fix"/>
<bean ref="fixService" method="treatment"/> // do your stuff
</route>
关于java - 如何在 Camel quickfixj 组件中启用多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791720/