【发布时间】:2013-06-29 18:51:15
【问题描述】:
我有一个初始化同步列表的“有状态会话 bean”,我将产品添加到列表并检查列表,它可以工作(所有在同一个会话期间)。 当我对我的应用程序进行“取消部署”然后进行另一个“部署”时,我丢失了我的 bean 的所有保存数据,这是否正常?
【问题讨论】:
标签: ejb-3.0 cart stateful-session-bean
我有一个初始化同步列表的“有状态会话 bean”,我将产品添加到列表并检查列表,它可以工作(所有在同一个会话期间)。 当我对我的应用程序进行“取消部署”然后进行另一个“部署”时,我丢失了我的 bean 的所有保存数据,这是否正常?
【问题讨论】:
标签: ejb-3.0 cart stateful-session-bean
这是期望的行为,想象一下如果我将集合类型从列表更改为映射并重新部署应用程序,创建的 SFSB 会发生什么。
实际上,热部署功能超出了 EJB 规范的范围,因此会话 bean 的行为可能会根据您使用的应用服务器而有所不同。例如,在 weblogic 8 中,重新部署任何类型的应用模块后,所有 SFSBean 引用都将丢失(存根被丢弃)。
我个人更喜欢在热部署后重新启动生产服务器,因为总是可能存在一些内存泄漏(由以前的类加载器引起)。
【讨论】: