当前位置: 首页 > 知识库问答 >
问题:

Apache Camel中的并行进程

南门新荣
2023-03-14

我有一个apache camel路由,定义如下:

from("timer:name?period=3000&fixedRate=true")
            .process(myDbProcessor);

因此,我需要使mydbprocessor在不同的线程中并行工作。我需要关于使用多线程和并行处理的最佳和最简单的方法的建议mydbprocessor

共有1个答案

公西国发
2023-03-14

例如,您可以使用多播parallelprocessing=true和自定义onprepareRef来拆分工作负载。组播到同一目标路由。

无论如何,您应该首先重构您的代码。骆驼不是用来和上帝的物体一起使用的,而是用来和管道一起使用的。您处理的每一步(例如:启动、获取数据、执行HTTP Post、处理结果、循环到下一个记录)都应该在自己的处理器或路由中实现。
您可以实现更好的模块化并利用所有的EIP模式。

 类似资料:
  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 我正在尝试向异步路由发送消息,但它不起作用。我刚刚在github上创建了一个项目来模拟这个问题

  • 我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A

  • 问题内容: 我想同时运行许多进程并能够随时输出stdout。我该怎么办?我需要为每个调用运行线程吗? 问题答案: 您可以在一个线程中完成。 假设您有一个脚本可以随机打印行: 而且您想在输出可用后立即收集它,您可以按照@zigg的建议在POSIX系统上 使用: 更具可移植性的解决方案(应在Windows,Linux,OSX上运行)可以为每个进程使用读取器线程,请参阅python中的对子进程的非阻塞读

  • 问题内容: 对于C ++,我们可以使用OpenMP进行并行编程。但是,OpenMP不适用于Python。如果要并行执行python程序的某些部分,该怎么办? 该代码的结构可以认为是: 其中和是两个独立的功能。为了减少运行时间,如何并行而不是按顺序运行这种代码?代码是: 其中和是两个独立的功能。那是我要平行的地方… 问题答案: 您可以使用多处理模块。对于这种情况,我可以使用一个处理池: 这将产生可以

  • 其中和是两个独立的函数。那就是我想平行的地方...