gpt4 book ai didi

java - 通过 Jar 文件实现事件发布功能

转载 作者:可可西里 更新时间:2023-11-01 11:42:43 26 4
gpt4 key购买 nike

我有一个要求,我想根据某个 Action 触发一个事件,这个功能要作为一个 jar 文件来实现。

让我们用一个例子来解释这一点。

有一个 Web 应用程序 WAR_FILE。有一个名为 REST_CLIENT 的休息客户端。有一个 jar 文件,其中包含名为 MY_JAR 的客户端 REST_CLIENT 的 api 方法。

现在 WAR_FILE 将使用 MY_JAR 将数据发布到 REST_CLIENT。

但是 WAR_FILE 不想等待它的响应。它就像发布数据并且不关心响应。MY_JAR 将从 WAR_FILE 获取所有输入并将其作为缓存存储在队列中。我正在使用 Redis 来维护此队列作为缓存。

主要问题是 MY_JAR 每次都必须检查该队列中是否有任何请求要执行。

Sol 1:每隔 n 秒使用 MY_JAR 中的 quartz 检查是否有任何新的请求需要执行。

问题 1:WAR_FILE 本身可能正在使用一些 quartz 。

问题 2:如果一个线程正在执行队列中的任务列表,而另一个线程来并开始执行相同的请求。

解决方案 2:使用 cron 作业

问题:解决方案 1 中的问题 2

Sol 3:RabitMQ/ActiveMQ(刚听说)

问题:不知道如何使用它以及它如何帮助我。

请帮帮我。

最佳答案

我找到了各种解决这个问题的方法。其实这就是JMS。(以前我不知道这个技术)

(1)使用Redis发布/订阅事件发布

http://redis.io/topics/pubsub

对于简单的 java:http://www.basrikahveci.com/a-simple-jedis-publish-subscribe-example/

Spring :http://java.dzone.com/articles/redis-pubsub-using-spring

(2)使用RabbitMQ

RabbitMQ 安装:https://www.rabbitmq.com/install-debian.html

Java 示例:http://www.rabbitmq.com/tutorials/tutorial-one-java.html

关于java - 通过 Jar 文件实现事件发布功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22787237/

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