我试图了解Camel是否能够在同一过程中优先考虑路由执行优先于其他路由。
例如,我们有:
from("cxfrs://restendpoint").routeId("HIGH").log("high priority");
和
from("file://filestore").routeId("LOW").log("low priority");
我希望HIGH路线不会因LOW路线而减速。所以当一个巨大的文件被LOW路由处理并且一个休息呼叫到达HIGH路由时,我希望CPU给HIGH路由提供更多的时间。
我正在考虑通过在2个应用程序中拆分路由并使用Linux进程优先级为HIGH路由分配更多时间来实现这一点。
有没有办法用Camel做到这一点?例如,使用线程优先级的东西?
感谢您的帮助
答案 0 :(得分:2)
查看Apache Camel/ActiveMQ priority route(初始情况不同,但解决方案也适用于您的用例):
修改强>
作为附加选项,使用带有自定义ExecutorService
的{{1}}并设置线程优先级,例如:
ThreadFactory
可以找到关于Java线程优先级的好文章here。