Websphere 7-BMP实体Bean-ejbStore在事务结束时调用,而不是在setter方法之后调用



我们正在从Weblogic迁移到Websphere 7。它是一个遗留应用程序,包含EJB 2.0 bean。实体bean具有BMP。会话facade bean对实体bean进行更新,但更新在事务结束时被持久化到数据库(调用实体bean的ejbStore()方法),这会导致问题,因为更新对事务中的其他客户端不可见。在Weblogic中有一个设置"延迟更新直到tx结束",可以设置为false。这将导致在不等待事务结束的情况下持久化更新。我读到Websphere的默认行为是不等待事务结束,但它似乎不是这样工作的。

我也尝试过设置以下JVM参数:

-Dcom.ibm.ws.pm.deferredcreate=false-Dcom.ibm.ws.pm.batch=错误

这也无济于事。

如有任何帮助,我们将不胜感激。

谢谢,Dikshit

CMP有声明性选项,但我认为BMP没有选项。应该可以使用EJBContextExtension.flushCache()WebSphere Application Server扩展方法以编程方式强制容器存储/刷新所有未处理的实体:

http://publib.boulder.ibm.com/infocenter/wasinfo/fep/topic/com.ibm.websphere.javadoc.doc/web/apidocs/com/ibm/websphere/ejbcontainer/EJBContextExtension.html

相关内容

  • 没有找到相关文章

最新更新