We have a clustered environment where same camel ftp endpoint is installed on multiple fuse instances. I want message(file) to be consumed by only one fuse instance. I am planning to achieve this by implementing IdempotentRepository interface with database persistence. Want to make sure that this approach will work or there is a better way to do it?
Asked
Active
Viewed 294 times
1 Answers
0
If you don't want to depend on a database for doing this you could try with Hazelcast. Hazelcast is a distributed data cache that can be used as a idempotent repository without external dependencies. Also, Apache Camel provides a class for doing this. There is a nice tutorial explaining how to do it: Hazelcast Idempotent Repository Tutorial

hveiga
- 6,725
- 7
- 54
- 78
-
Thank you, also in the current design we are using idempotent repository with DB persistence. In case if the Fuse ESB crashes, we will have a quartz trigger which will remove the DB locks periodically. Again, Is it recommended ? – gnanagurus Dec 17 '13 at 01:11
-
There is a similar solution from Claus, This may help the readers: http://camel.465427.n5.nabble.com/Camel-FTP-component-on-cluster-td5729403.html – gnanagurus Dec 17 '13 at 01:13
-
I would say it is recommended, yes. Also, I didn't know about the solution in the link you just posted. Thanks for sharing. – hveiga Dec 17 '13 at 01:19