java - 在 J2EE 服务器中匹配两个不同应用程序之间的两个对象实例的最佳方法是什么?

标签 java jakarta-ee distributed

我有一个 J2ee 应用程序,我基本上想要两个由两个单独的 servlet 创建的对象来直接通信,并且我需要这些实例保持稳定,即在 session 期间彼此“了解”。

顺序大致为:

  1. 客户端向 Servlet #1 发送请求,该 Servlet #1 创建对象 A
  2. 客户端向 servlet #2 发送第二个请求(第一个请求返回后),该请求创建对象 B。
  3. 对象 B 使用 JNDI 找到 A,并且两个对象进行交互。
  4. 客户端现在继续向需要再次查找 B 的对象 A 发送请求。

如何确保这两个实例在整个 session 过程中彼此了解? 将它们绑定(bind)到 JNDI 并不能完全解决问题,因为对象 B 需要与其原始 servlet(servlet #2)通信,而该 servlet 在请求之间并不稳定。

有什么想法吗?

提前致谢。

<小时/>

是的,我承认问题描述有点模糊。但这不是一个非常简单的应用程序。 不过,我会尽力提出更好的问题:

我的最终目标是为我的应用程序创建一种“语义调试器”,而不是仅调试 java 语句的 java 调试器。

调试的应用程序基本上是一个servlet。我的工具连接到的。 该工具通过另一个控制调试过程的 servlet 维护与应用程序的连接。 这两个 servlet 需要不断地、直接地相互通信。

我目前的想法是设置一个有状态 session bean,以促进这种通信(从未这样做过,仍在努力设置它)。

但如果有任何关于如何更好地实现这一目标的想法,我将不胜感激。

最佳答案

是什么阻止您使用 session ?您不需要 JNDI,只需将对象以预定义的名称放入 session 中即可。如果通信对象是应用程序范围的,请使用 Singleton。

附注在我看来,你正在做一些奇怪的事情,而解决方案实际上可以更简单。您能描述一下任务,而不是建议的实现吗?到底什么是“语义调试器”?

关于java - 在 J2EE 服务器中匹配两个不同应用程序之间的两个对象实例的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252082/

相关文章:

java - 防止用户使用不同浏览器(IE和FF)登录同一系统

JMeter:JMeter 远程测试失败,错误为 "Engine is busy, Please try later"

build - 使用bitbake进行分布式编译

java - 如何让我的 ExpandableListView 等待加载,直到填充我的 HashMap?

java - 如何从 Json 中保留 @OneToMany 和 @ManyToOne

java - 如何将旧版本的垃圾收集器添加到新版本的 JRE

java - 无法解析配置 ':app:_debugApk' 的所有依赖项。找不到名称为 'default' 的配置

java - Liferay 6.2 中构建失败

java - 在 JMS 中使用 JBoss 进行 JNDI 查找错误

architecture - 如何设计具有实时出价功能的广告服务器