java - 如何在 Camel quickfixj 组件中启用多线程

标签 java multithreading apache-camel quickfixj

我正在使用 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/

相关文章:

java - 从 Map 中的 Value 找到 Key

java - 如何从后端获取java Web应用程序中的用户位置?

java - 尝试使用线程时程序锁定

java - Apache Camel 日志

java - 在不同的类中创建 Camel 路线

java - Windows 检查在 Tic Tac Toe 游戏中不起作用?

ruby - Ruby 中的限时计算

java - 从 Servlet 启动独立应用程序的线程

java - 如果文件名模式与 Camel 不匹配,如何将文件移动到错误目录

java - 想要在运行时 java 中动态传递 class.getmethod 参数