我有一个apache camel路由,定义如下:
from("timer:name?period=3000&fixedRate=true")
.process(myDbProcessor);
因此,我需要使mydbprocessor
在不同的线程中并行工作。我需要关于使用多线程和并行处理的最佳和最简单的方法的建议mydbprocessor
?
例如,您可以使用多播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程序的某些部分,该怎么办? 该代码的结构可以认为是: 其中和是两个独立的功能。为了减少运行时间,如何并行而不是按顺序运行这种代码?代码是: 其中和是两个独立的功能。那是我要平行的地方… 问题答案: 您可以使用多处理模块。对于这种情况,我可以使用一个处理池: 这将产生可以
其中和是两个独立的函数。那就是我想平行的地方...