使用EJB 3.0和WebLogic并得到一个让我疯狂的错误!!
我有一个符合以下接口的无状态本地会话bean
@Local
public interface ReportRequestManager {
void addRequest(ReportRequest rr) ;
List<ReportRequest> getAllRequests();
String getCEPingResult();
String getPEPingResult();
}
ReportRequest是一个实体bean,前两个方法只是持久化并检索请求,并且在从我的servlet调用时工作正常。
最后两个方法调用另一个EJB服务器(ECM,IBM FileNet),它只是使用提供的API通过EJB ping ECM的引擎。这是从servlet调用时发生以下错误的地方。这甚至意味着什么?
为了使事情变得更加集中,在本地安装的WebLogic(10.3.4)上一切正常,但是,当部署到运行WebLogic(10.3.3)的服务器时,它失败了。
任何猜测?
Servlet因异常而失败 javax.ejb.TransactionRolledbackLocalException:提交事务时出错:;嵌套异常是:javax.transaction.SystemException:只有在没有等待响应的请求时才能发出Commit。目前有一个这样的请求 在weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:232) 在weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:130) 在weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:626) at weblogic.ejb.container.internal.BaseLocalObject .__ WL_postInvokeTxRetry(BaseLocalObject.java:427) at gov.sandia.tl.rr.logic.ReportRequestManagerBean_425hac_ReportRequestManagerImpl.getRequestWorkInbox(ReportRequestManagerBean_425hac_ReportRequestManagerImpl.java:138)