将现代 Java 系统与文件系统集成的良好模式



我们有一个系统,它将向我们的系统发送大量文件传送。

我们不希望在文件系统之上构建一个层来轮询并触发该文件的相应进程,因为文件系统不会提供任何好处,例如事务、隔离等。

我们正在考虑使用 Apache Camel 来监视文件,然后向队列发送消息以指示其到达。由于我们正在处理消息队列,我们将获得随之而来的所有好处,例如消息队列的透明度,成功时发送回确认等。

这听起来像是一件好事,还是有更好的处理文件系统的模式?

如果您需要将文件路由和传递到不同的服务器,路由它们等,那么您的方法可能很好。不过,您需要三思而后行。

消息事务可以回滚,但文件不能。此外,您确实需要考虑要解决的所有情况 - 在序列图中绘制所有可能性,以确保您的解决方案不会太复杂,并且所有错误情况都得到处理。

也许,Camel拾取文件并路由它们的解决方案就足够了?然后你可以实现日志记录等。但这不会是超越性的。

ActiveMQ有一些东西可以处理这样的情况,称为BLOB消息,旨在在带外通道中启用大文件传输,但使用JMS消息进行控制"信号"。它可能适合也可能不适合您的情况,具体取决于您的具体要求。

相关内容

  • 没有找到相关文章

最新更新