环境:Weblogic,Spring,Hibernate和EJB
我已从hibernate 3升级到4.面临层之间异常传播的问题。就像我的DAO方法抛出'StaleObjectStateException'一样,service方法抛出'UnexpectedRollbackException'而不是'StaleObjectStateException'。
服务方法在调用DAO方法的事务中运行
以下是配置。
添加使用hibernate 3时的配置[这是供参考,使用hibernate 4发生异常]
<bean id="txManager" class="org.springframework.transaction.jta.WebLogicJtaTransactionManager">
<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</prop>
<prop key="hibernate.ejb.interceptor">de.unicreditgroup.esa.persistence.hibernate.EsaChangeInterceptor</prop>
<prop key="transaction.factory_class">org.hibernate.ejb.transaction.JoinableCMTTransactionFactory</prop>
使用Hibernate 4的当前配置
<bean id="txManager" class="org.springframework.transaction.jta.WebLogicJtaTransactionManager">
<prop key="hibernate.transaction.factory_class">org.hibernate.engine.transaction.internal.jta.CMTTransactionFactory</prop>
<prop key="hibernate.transaction.jta.platform">org.hibernate.engine.transaction.jta.platform.internal.WeblogicJtaPlatform</prop>
异常日志:
Hibernate:
/* update
com.test.Customer */ update
Customer
set
changed=?,
lockversion=?,
name=?,
where
id=?
and lockversion=?
2015-02-05 16:12:53,435 [ERROR org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl, [ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] HHH000346: Error during managed flush [Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.test.Customer#81]]
2015-02-05 16:12:53,467 [DEBUG,de.unicreditgroup.esa.web.spring.flow.FlowExceptionHandler,[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] Redirecting to error information.
2015-02-05 16:12:53,490 [ERROR,de.unicreditgroup.esa.web.spring.flow.FlowExceptionHandler,[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] FlowExecutionException:
javax.ejb.EJBException: EJB Exception: ; nested exception is:
org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:117) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:92) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.sun.proxy.$Proxy466.updateSqlQuery(Unknown Source) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:71) ~[spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.ejb.access.SimpleRemoteSlsbInvokerInterceptor.doInvoke(SimpleRemoteSlsbInvokerInterceptor.java:99) ~[spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.invokeInContext(AbstractRemoteSlsbInvokerInterceptor.java:141) ~[spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:190) ~[spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at com.sun.proxy.$Proxy405.updateSqlQuery(Unknown Source) ~[na:na]
at de.unicreditgroup.esa.web.admin.webtool.SqlQueryOverviewAction.validateSqlExpressionAndUpdateResult(SqlQueryOverviewAction.java:194) ~[SqlQueryOverviewAction.class:na]
at de.unicreditgroup.esa.web.admin.webtool.SqlQueryOverviewAction.saveData(SqlQueryOverviewAction.java:135) ~[SqlQueryOverviewAction.class:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:63) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:95) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.ast.MethodReference.access$000(MethodReference.java:44) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:258) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:84) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:114) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:105) ~[spring-expression-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84) ~[spring-binding-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:68) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.Transition.canExecute(Transition.java:196) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.Transition.execute(Transition.java:212) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:231) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:195) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.Flow.resume(Flow.java:537) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259) ~[spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169) [spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:228) [spring-webflow-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.faces.webflow.JsfFlowHandlerAdapter.handle(JsfFlowHandlerAdapter.java:57) [spring-faces-2.4.0.RELEASE.jar:2.4.0.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) [spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) [spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) [spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) [spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:751) [weblogic.server.merged.jar:12.1.2.0.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) [spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) [weblogic.server.merged.jar:12.1.2.0.0]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) [spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) [weblogic.server.merged.jar:12.1.2.0.0]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at de.unicreditgroup.esa.web.login.spring.EsaAuthenticationFilter.doFilter(EsaAuthenticationFilter.java:246) [EsaAuthenticationFilter.class:na]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) [com.oracle.css.weblogic.security.wls_7.0.0.0.jar:CSS 7.0 0.0]
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) [weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254) [weblogic.server.merged.jar:12.1.2.0.0]
Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1024) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:757) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:726) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:478) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:272) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at com.sun.proxy.$Proxy253.update(Unknown Source) ~[na:na]
at de.unicreditgroup.esa.service.webtool.sql.WebToolSqlServiceImpl.updateSqlQuery(WebToolSqlServiceImpl.java:228) ~[de-unicreditgroup-esa-services-2.1.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at com.sun.proxy.$Proxy352.updateSqlQuery(Unknown Source) ~[na:na]
at de.unicreditgroup.esa.ejb.webtool.sql.WebToolSqlServiceEJBImpl.updateSqlQuery(WebToolSqlServiceEJBImpl.java:76) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.oracle.pitchfork.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:103) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.oracle.pitchfork.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:117) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(Unknown Source) ~[weblogic.server.merged.jar:12.1.2.0.0]
at com.sun.proxy.$Proxy467.updateSqlQuery(Unknown Source) ~[na:na]
at de.unicreditgroup.esa.ejb.webtool.sql.WebToolSqlServiceEJBImpl_5833mc_WebToolSqlServiceEJBImpl.__WL_invoke(Unknown Source) ~[na:na]
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34) ~[weblogic.server.merged.jar:12.1.2.0.0]
at de.unicreditgroup.esa.ejb.webtool.sql.WebToolSqlServiceEJBImpl_5833mc_WebToolSqlServiceEJBImpl.updateSqlQuery(Unknown Source) ~[na:na]
at de.unicreditgroup.esa.ejb.webtool.sql.WebToolSqlServiceEJBImpl_5833mc_WebToolSqlServiceEJBImpl_WLSkel.invoke(Unknown Source) ~[na:na]
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:202) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:463) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:274) ~[weblogic.server.merged.jar:12.1.2.0.0]
at de.unicreditgroup.esa.ejb.webtool.sql.WebToolSqlServiceEJBImpl_5833mc_WebToolSqlServiceEJBImpl_12120_WLStub.updateSqlQuery(Unknown Source) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84) ~[weblogic.server.merged.jar:12.1.2.0.0]
... 97 common frames omitted
Caused by: weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1878) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:359) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:250) ~[weblogic.server.merged.jar:12.1.2.0.0]
at org.glassfish.transaction.TransactionManagerImplCommon.commit(TransactionManagerImplCommon.java:535) ~[weblogic.server.merged.jar:12.1.2.0.0]
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021) ~[spring-tx-4.0.3.RELEASE.jar:4.0.3.RELEASE]
... 142 common frames omitted
Caused by: weblogic.transaction.internal.AppSetRollbackOnlyException: setRollbackOnly called on transaction
at weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:542) ~[weblogic.server.merged.jar:12.1.2.0.0]
at org.glassfish.transaction.TransactionManagerImplCommon.setRollbackOnly(TransactionManagerImplCommon.java:568) ~[weblogic.server.merged.jar:12.1.2.0.0]
at org.glassfish.transaction.TransactionManagerImplCommon.setRollbackOnly(TransactionManagerImplCommon.java:561) ~[weblogic.server.merged.jar:12.1.2.0.0]
at org.hibernate.engine.transaction.internal.jta.CMTTransaction.markRollbackOnly(CMTTransaction.java:131) ~[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.setRollbackOnly(TransactionCoordinatorImpl.java:326) ~[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl.setRollbackOnly(SynchronizationCallbackCoordinatorNonTrackingImpl.java:124) ~[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:114) ~[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:50) ~[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1271) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1244) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:126) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1354) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2171) ~[weblogic.server.merged.jar:12.1.2.0.0]
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:283) ~[weblogic.server.merged.jar:12.1.2.0.0]
... 145 common frames omitted
配置中缺少什么?