我目前正在使用 JBoss 5.1.0 GA 构建来部署我的企业应用程序。在 EJBLocalHome remove() API 的工作中,我面临一个奇怪的问题。我有一个实体 Bean 说“Emp”。我需要删除一个实体 bean 说'emp1'。因此,我将调用 EJBLocalObject remove(),它将调用“Emp”EntityBean#ejbRemove() API 从我的数据库中删除 bean。删除() -> ejbRemove()
对于 Jboss AS,我观察到当我调用 remove() API 时,首先调用 ejbStore() API,然后在同一个事务中调用 ejbRemove() API。在 remove() API 期间,实体 Bean 未被修改。因此不应调用 ejbStore()。但确实如此。因此顺序是:- remove() -> ejbStore() -> ejbRemove()
我在 Websphere AS 上部署了我的应用程序,当我调用 remove() 时,调用顺序是:- remove() -> ejbRemove() 。在这种情况下没有调用 ejbStore()。
谁能说出为什么在 JBoss AS 的情况下会发生这种行为?我觉得 ejbStore() 不应该被调用,因为没有任何更新并且工作应该类似于 Webspehere。
-阿吉特