如果在一个目录上运行并行的FTP客户端(消费者),我如何确定一个文件不会被快照两次并进行两次?

时间:2018-11-09 14:51:49

标签: java docker ftp apache-camel docker-swarm

我有一个带有Camel路由和FTP-Consumer的Java应用程序,该应用程序将在Docker主机上部署为Docker服务。可以扩展Docker服务,以便使多个FTP客户端轮询相同的FTP目录。

  

我想确定一个文件不会被2快照两次。   消费者。我该怎么做才能做到这一点?

1 个答案:

答案 0 :(得分:0)

Camel FTP component doc

  

FTP使用者(具有相同的端点)不支持并发   (支持的FTP客户端不是线程安全的)


  

我想确定一个文件不会被2快照两次。   消费者。我该怎么做?

回想一下上面的事实,实现此目的的最简单方法是确保所有应用程序中只有1个活动使用者(朝相同端点)。

这可以通过在共享资源(例如DB)中具有通用配置来控制哪个应用程序可以激活使用者(通过controlbus component)来实现。