有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javajavax。ejb。TransactionRolledbackLocalException:客户端的事务中止

我最近更改了我的数据库,数据库中有一些更改,所以我相应地更改了我的代码和实体,旧数据库用于历史记录

应用程序可以很好地处理新数据库,但只要有名为Application的create方法,就会抛出该异常

当我运行与旧数据库配合良好的旧代码时,我会混淆为新数据库配置代码时缺少的内容

WARNING: EJB5184:A system exception occurred during an invocation on EJB CPEHardwareModelFacade, method: public void kics.green.acs.ejb.facade.CPEHardwareModelFacade.create(kics.green.acs.ejb.entity.CPEHardwareModel)
WARNING: javax.ejb.TransactionRolledbackLocalException: Client's transaction aborted
    at com.sun.ejb.containers.BaseContainer.useClientTx(BaseContainer.java:4722)
    at com.sun.ejb.containers.BaseContainer.preInvokeTx(BaseContainer.java:4601)
    at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1914)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:89)
    at com.sun.proxy.$Proxy443.create(Unknown Source)
    at kics.green.acs.ejb.businessdelegate.ACSMessageBean.onMessage(ACSMessageBean.java:138)
    at sun.reflect.GeneratedMethodAccessor459.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
    at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
    at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4180)
    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5368)
    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
    at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1099)
    at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:81)
    at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:171)
    at com.sun.proxy.$Proxy449.onMessage(Unknown Source)
    at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:260)
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114)
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)


Line with error
GreenACSEJBLookUp.lookupCPEHardwareModelFacadeLocal().create(cpeHardwareModel);

共 (1) 个答案

  1. # 1 楼答案

    在事务已标记为回滚后,尝试导航到另一个实体(例如,通过@Local接口导航到另一个EJB)时,将引发transactionRolledbackLocalException。通常情况下,某个地方抛出了未处理的异常—异常的真正原因有时可能会被忽略,并且很难确定

    我的建议是逐步使用调试器