【问题标题】:Possible to create a multi-user/shared session/instance in Java EE?可以在 Java EE 中创建多用户/共享会话/实例吗?
【发布时间】:2017-05-11 15:52:46
【问题描述】:

我正在尝试编写一个 Java EE 应用程序,其中多个客户端共享应用程序实例的状态,该实例可能类似于文档。想想像 Google Docs 这样多个用户编辑同一个文档。

到目前为止,我采用的方法是使用实​​体将状态保存到数据库中,并由客户端进行每次更改。然后,在这样的更改中,我将新状态发送给连接(订阅)到该实例的其他客户端。

我对这种方法的担忧是,当/如果应用程序扩展时会发生什么?目前,任何更改都会注册到数据库,即使只是很短的时间,例如被另一个用户覆盖的快速更改。此外,诸如哪些用户连接到实例和更改历史等信息存储到数据库中。对我来说,在 DB 之间来回切换似乎效率低下。

我的问题是:

  • 我可以创建多个实例,它们的各个状态都存储在 EJB 或其他东西中吗?
  • 只要有用户连接到该实例,我可以让单个实例一直存在吗?
  • 我可以在多个连接的客户端之间共享单个实例的状态吗?
  • 我能否检测到最后一个用户何时断开与实例的连接,以便保存其最终状态?

问题可能很大,但我主要感兴趣的是,我应该研究 Java EE 中的哪些概念?

【问题讨论】:

标签: java session jakarta-ee


【解决方案1】:

您的问题似乎与 JMS 队列中的发布/订阅机制相匹配? https://docs.oracle.com/javaee/6/tutorial/doc/bnceh.html

【讨论】:

    猜你喜欢
    • 2011-07-09
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2011-06-01
    相关资源
    最近更新 更多