我不确定有多少人有机会与Camel Processors打交道。所以这是我关心的:
我正在获取一些信息并将其发送给处理器。从处理器,它通过服务调用数据库并插入一条记录。我正在使用POJO并通过交换对象在处理器中设置模型中的值。我根本没有面临任何问题,但处理器并不意味着在列表或任何其他结构中设置值。它应该简单地对交换对象进行一些处理并传递它,主要是因为可能存在多个线程可以调用同一个处理器的情况。
这就是我想知道的:
- 在Camel中是否有其他替代处理器,我可以在模型上进行这种设置。例如:窃听、拦截等
- 如果不是,还有什么方法呢?
Processors
是单例,因此不应该用于存储任何类型的状态…
一些选项…
-
在
Exchange
属性或Body头中存储状态信息 -
将
Processor
替换为Bean
,您可以管理范围(原型等) -
为非线程安全引用使用
ThreadLocal
变量