gpt4 book ai didi

java - 是否可以使用 Apache Camel 实现服务器推送?

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:26 24 4
gpt4 key购买 nike

目前,在我的应用程序中,我有一个显示一些信息的组件。它每分钟都会使用 jetty 与包含 csv 文件的服务器进行通信,以查看它是否发生更改。我想改进这个解决方案,并且可以在 csv 文件更改时立即更新我的组件。

我考虑使用 Apache Camel,因为在收到有关更改的推送后,我想将其也发送到系统的其他部分,例如使用 RMI。我阅读了 Apache Camel 的文档,发现它很容易在组件之间接收、处理和发送数据,但我不确定它是否也可以等待通知。也许我应该考虑一下 Camel 以外的东西?

非常感谢您的帮助。谢谢。

最佳答案

Camel 能够很好地处理异步调用,例如来自服务器推送的调用。根据您的服务器发送更新的 csv 文件的方式,您可以相应地触发其余流程。例如,您可以让端点不断监听文件删除,每当目录中出现新的 csv 文件时,它就会自动触发其余进程。您还可以通过 Web 服务调用或从某个队列中提取信息来执行相同的操作。

更新:

我在下面的评论中用完了字符,所以我将在这里完成我的想法。使用服务器推送方法,您将不需要进行昂贵的网络调用来检查文件是否已更改。您将实现一个等待来自服务器的激励的监听器。我建议的方法之一是让服务器将文件推送给您(使用 FTP 或其他方式),然后您有一个 Camel 端点来监听它。从本质上讲, Camel 端点正在轮询,但这种轮询并不昂贵,因为您只是轮询本地目录而不是进行网络调用。我不知道您对服务器推送有多少控制权,但如果您想让调用真正异步,您可以让服务器推送采用 Web 服务的形式,该服务将调用您公开的 SOAP/REST 端点。然后,该 Web 服务调用将通过零轮询触发您想要的其余路由/进程。

关于java - 是否可以使用 Apache Camel 实现服务器推送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36174826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com