如何更改JNDI bean中的值?

时间:2011-10-11 21:28:14

标签: java session jsf jndi sharing

我已经在本主题中看到了有关不同应用程序的共享会话的解决方案: Any way to share session state between different applications in tomcat?

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

有没有解决方案?

由于

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

如果你有点小心(只使用Input / OutputStreams和ISO-8859-1编码),也应该可以直接序列化Java对象并将它们传递给服务器(通常有序列化的警告)。

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