我的路线是这样的:
from(rabbitmq).
to(redisLockerProcessor).
to(processor1).
to(ahc://http:).to(processor2)
.to(redisLockReleaseProcessor)
我正在使用redisson库来存储在redis中锁定的线程ID。但是在redisLockReleaseProcessor
中,它会抛出thread id is not same as thread id which took the lock
的异常。 http组件如何在驼峰中工作?我虽然整条路线都在同一个线程中运行。如果整个路由不在同一个线程中运行,我们如何解决redis问题呢?
答案 0 :(得分:0)
camel-ahc组件正在使用非阻塞调用,因此线程可以在您的驼峰路由中进行更改。您可以考虑将线程ID存储为交换属性(您可以使用它来释放redisLockReleaseProcessor中的redisLock)或使用其他camel http组件,例如使用块API发送请求的camel-http。