我们正试图移动到Apache Camel集群。到目前为止,我们在一个节点上运行并且运行良好。集群中的骆驼readlock策略
一个节点: 我已将readlock策略设置为'changed',它跟踪使用camelLock文件进行的文件更改,并且只有当文件完成下载后,它才会被处理。但骆驼readlock战略'改变'是不鼓励聚类。根据骆驼文件“idempotent”被推荐。这是我用5GB文件测试时发生的情况。
两个节点: 我已将readlock策略设置为'idempotent',它将文件分发给其中一个节点,但骆驼甚至在文件下载完成之前开始处理该文件。
即使在文件下载之前,有没有办法阻止骆驼处理,当readlock策略是幂等的?
谢谢大流士。我们在集群中使用hazelcast并且工作得很好,文件仅在集群中的一个节点上进行处理。但是,问题在于readLock设置为idempotent并且发件人发送5GB文件,文件使用者立即或在文件完成下载之前的几秒钟后立即处理它。我们担心网络问题等,如果发件人发送的文件中断,我们的交易状态将不完整。在文件消费者拿起文件之前,希望文件完全下载,就像readLock = changed时发生的那样。 – Arjun
您是否尝试过使用idempotent = true更改readLock =并将idempotentRepository指向Hazelcast? –
在群集上尝试过。这个设置'readLock =用idempotent = true改变,idempotentRepository指向Hazelcast'没有帮助。即使在下载之前,消费者也会收到文件。 – Arjun