如何更改 JNDI bean 中的值?

发布于 2024-12-09 02:40:02 字数 327 浏览 0 评论 0原文

我在本主题中看到了有关不同应用程序共享会话的解决方案: 在不同应用程序之间共享会话状态的任何方式tomcat?

我已经能够注册 JNDI bean 并在不同的应用程序中获取它。但我真正想要的是在一个应用程序中更改此 bean 的值(将值添加到哈希映射)并在其他应用程序中检索新值,但更改似乎只发生在本地。

有什么解决办法吗?

谢谢

I've seen this solution about sharing session for different applications in this topic:
Any way to share session state between different applications in tomcat?

I´ve been able to register a JNDI bean and get it in different applications. But what I really want is to change a value of this bean (add a value to a hashmap) in one application and to retrieve the new value in other applications, but the change only seems to happen locally.

Is there any solution?

Thanks

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

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

发布评论

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

评论(2

梦情居士 2024-12-16 02:40:02

您是否尝试过使用 JNDI Context 重新绑定方法?这允许您用新对象替换当前绑定的对象。

Have you tried to use the JNDI Context rebind method? This allows you to replace the currently bound object with a new one.

夏九 2024-12-16 02:40:02

您是否在所有应用程序中获得相同的 bean,或者容器是否为每个应用程序创建一个新的 bean?

如果您无法让它工作,这里有另一个解决方法:创建另一个 Web 应用程序并使用它来共享状态。将状态转换为可以轻松发送到应用程序的内容(XML 或 JSON)。

如果您稍微小心一点(仅使用输入/输出流和 ISO-8859-1 编码),还应该可以直接序列化 Java 对象并将它们传递到服务器(带有序列化的常见注意事项)。

最后,您可以在同一台计算机上设置一个 RMI 服务器,它提供类似地图的 API 来交换数据。

Do you get the same bean in all apps or does the container create a new bean for each app?

If you can't get it to work, here is another workaround: Create another web app and use that to share state. Convert state into something that you can send easily to the app (XML or JSON).

If you're a bit careful (only use Input/OutputStreams and ISO-8859-1 encoding), it should also be possible to serialize Java objects directly and pass them to the server (with the usual caveats of serialization).

Lastly, you could set up an RMI server on the same machine which offers a map-like API to exchange data.

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