异步连续轮询将数据从数据库推送到 Java 客户端

发布于 2024-11-26 07:57:32 字数 220 浏览 1 评论 0 原文

有人可以建议解决这个问题的最佳方法是什么:

我喜欢做的是对数据库表进行连续轮询(或查询)。每当发生新的更新时,我都想将其推送到 Java 应用程序中的客户端。这个想法是用户可以建议他们想要订阅哪些数据,并定义一个事件处理程序来处理任何传入的数据。

因此,我需要在后台进行轮询。但我似乎无法正确执行此操作。我正在考虑为本地 JVM 发布/订阅使用一个简单的事件总线,但我似乎无法进行异步连续轮询。

Could someone suggest what’s the best approach to go about this:

What I like to do is draw a continuous poll (or query) of a database table. And anytime a new update has occurred, I want to push this to the client in a Java application. The idea is users can suggest what data they want to subscribe to and define an event-handler to handle any incoming data.

I therefore need to have the polling being done in the background. But I seem to having trouble with doing this correctly. I’m looking at using a simple event bus for local JVM pub/sub, but I can’t seem to get the asynchronous continuous polling going.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

策马西风 2024-12-03 07:57:32

您的解决方案有很多缺点。
更好的解决方案是创建负责在数据库中保存数据和通知的业务逻辑。例如,您可以创建订阅 JMS 主题的应用程序。另一个组件接收处理和保存数据的调用。它存储数据,然后发送此操作的通知。订阅该主题的所有组件都会收到此通知并做出相应反应。

Your solution has a lot of disadvantages.
A better solution is to create business logic that is responsible for saving data in the database and for notifications. You can for example create an application that is subscribed to JMS topic. Another component receives calls to process and save data. It stores data and then sends notification of this action. All components subscribed to the topic receive this notification and react accordingly.

情话墙 2024-12-03 07:57:32

看一下 java.util.concurrent 。您可以创建一个调度程序,利用线程池以给定的时间间隔运行,例如 ScheduledThreadPoolExecutor

Have a look at java.util.concurrent. You can create a scheduler to run at a given interval utilizing a thread pool like with a ScheduledThreadPoolExecutor.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文