Apache Camel -在处理器内部设置值



我不确定有多少人有机会与Camel Processors打交道。所以这是我关心的:

我正在获取一些信息并将其发送给处理器。从处理器,它通过服务调用数据库并插入一条记录。我正在使用POJO并通过交换对象在处理器中设置模型中的值。我根本没有面临任何问题,但处理器并不意味着在列表或任何其他结构中设置值。它应该简单地对交换对象进行一些处理并传递它,主要是因为可能存在多个线程可以调用同一个处理器的情况。

这就是我想知道的:

  1. 在Camel中是否有其他替代处理器,我可以在模型上进行这种设置。例如:窃听、拦截等
  2. 如果不是,还有什么方法呢?

Processors是单例,因此不应该用于存储任何类型的状态…

一些选项…

  • Exchange属性或Body头中存储状态信息

  • Processor替换为Bean,您可以管理范围(原型等)

  • 为非线程安全引用使用ThreadLocal变量

最新更新