【发布时间】:2010-10-23 00:22:41
【问题描述】:
我会对一些时间细节感兴趣。例如,我在会话中放置了一些容器,可以保存不同的数据。我经常更改容器的内容。我如何确保容器会话值跨节点复制以进行任何更改?
【问题讨论】:
标签: session servlets replication
我会对一些时间细节感兴趣。例如,我在会话中放置了一些容器,可以保存不同的数据。我经常更改容器的内容。我如何确保容器会话值跨节点复制以进行任何更改?
【问题讨论】:
标签: session servlets replication
您无需确定;这是应用服务器的工作。
J2EE 规范不处理分布式组件之间的会话信息同步。
理论上,您所要做的就是编写线程安全的代码。在您的示例中,只需确保对容器的访问是同步的。如果您的应用程序服务器没有错误,那么您可以放心地假设会话信息以无缝方式在所有节点之间正确复制;如果您的应用程序服务器有关于会话同步的错误......嗯......那么现在没有什么是真正安全的了。
【讨论】:
应用服务器使用不同的策略来同步节点之间的会话信息。会话内容可以被认为是脏的并且需要同步 将数据放入会话 从会话中获取数据 从会话中获取数据分为两类 获取结构化对象 获取标量对象或不可变对象 因此,如果会话数据通过修改结构化对象而被间接修改,那么简单地从会话中重新读取它可以确保对象内容被复制。
【讨论】: