WebLogicEJB错误“;只有在没有等待响应的请求时,才能发出提交”;
使用EJB3.0和WebLogic时,出现了一个让我发疯的错误 我有一个符合以下接口的无状态本地会话beanWebLogicEJB错误“;只有在没有等待响应的请求时,才能发出提交”;,weblogic,ejb-3.0,Weblogic,Ejb 3.0,使用EJB3.0和WebLogic时,出现了一个让我发疯的错误 我有一个符合以下接口的无状态本地会话bean @Local public interface ReportRequestManager { void addRequest(ReportRequest rr) ; List<ReportRequest> getAllRequests(); String getCEPingResult(); String getPEPingResult(); } @
@Local
public interface ReportRequestManager {
void addRequest(ReportRequest rr) ;
List<ReportRequest> getAllRequests();
String getCEPingResult();
String getPEPingResult();
}
@Local
公共接口ReportRequestManager{
void addRequest(ReportRequest rr);
列出getAllRequests();
字符串getCEPingResult();
字符串getPEPingResult();
}
ReportRequest是一个实体bean,前两个方法只是持久化和检索请求,在从我的servlet调用时可以完美地工作
最后两个方法调用另一个EJB服务器(ECM,IBMFileNet),它只需使用提供的API通过EJB ping ECM的引擎。这就是从servlet调用时发生以下错误的地方。这意味着什么
为了让事情变得更加市集化,在WebLogic(10.3.4)的本地安装上一切正常,但是,当部署到运行WebLogic(10.3.3)的服务器上时,它失败了
猜猜看
Servlet因异常而失败
javax.ejb.TransactionRolledbackLocalException:提交事务时出错:;嵌套异常为:javax.transaction.SystemException:只有在没有等待响应的请求时才能发出提交。目前有一个这样的请求
位于weblogic.ejb.container.internal.ejbuntimeutils.throwtransactionrolled本地(ejbuntimeutils.java:232)
位于weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:130)
位于weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:626)
在weblogic.ejb.container.internal.BaseLocalObject.\uWL\uPostInvokeTXRetry(BaseLocalObject.java:427)
在gov.sandia.tl.rr.logic.ReportRequestManagerBean_425hac_ReportRequestManagerImpl.getRequestWorkInbox(ReportRequestManagerBean_425hac_ReportRequestManagerImpl.java:138)
在weblogic-ejb-jar.xml文件中,您是否为bean设置了集群?比如:真随机,我真的以为是这样,但只是尝试了一下,结果不起作用,还发现它不是群集的。