java - WebLogic 单例服务可以用于等待/通知吗?

标签 java jakarta-ee weblogic

我们有一个应用程序,它在内存中维护一个由特定用户 ID 键入的 HashMap,并且具有代表某些系统事件的值。基本功能是用户向 Web 服务器发出请求,该服务器检查 HashMap 中是否有由其 ID 键入的任何事件,否则会在 HashMap 上等待一小段时间。直到它们超时或在 HashMap 上执行 notify,这会唤醒客户端并立即处理事件。

这在单服务器环境中运行良好,但我们正在迁移到集群环境,并且不确定处理这个特定部分的最佳方法。

认为我们需要利用数据库对这些事件进行排队,并失去 wait/notify 的即时回调效果,除非可以使用 Singelton 服务功能以某种方式实现这一点。使用单例服务,我们是否能够等待来自一台服务器的对象并通过集群中另一台服务器上的线程获得通知?

最佳答案

我建议您使用 JMS。 JMS 是集群友好的,还可以配置为将事件保存在文件存储或数据库中。您还可以从 2 种模型中进行选择:队列或主题,具体取决于需要如何处理用户。

关于java - WebLogic 单例服务可以用于等待/通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194986/

相关文章:

java - 如何显示从DefaultTableModel传递过来的Jasper报表中的数据

java - EJB 不是 "visible"给 EJB 管理器。不能使用 CDI 或 JNDI 来引用它

java - Apache lucene 搜索代码打印 null

java - 从 weblogic 运行时 XML 响应会改变吗?

weblogic - 从 Weblogic 获取配置字符串

java - Hibernate 4 复合 id NonUniqueObjectException

java - Java中计算两个字符串之间的误差

jakarta-ee - WebLogic卡住的线程保护

java - 我如何将 sqlcipher 应用于 JavaSE

multithreading - (Tomcat) 网络服务 : OutOfMemoryError: unable to create new native thread