1

我只是将我的 spring 框架升级到 spring 3.1.1,并且我正在使用 websphere 事务管理器。当我尝试访问声明为惰性的模型时,出现以下错误:

[1/15/13 14:30:46:148 WIT] 00000021 LazyInitializ E org.hibernate.LazyInitializationException 无法初始化代理 - 没有会话 org.hibernate.LazyInitializationException:无法初始化代理 - org.hibernate.proxy 没有会话。 AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150) at com .aprisma.product.gcm.common.model.spi.gie.Menu$$EnhancerByCGLIB$$ebdf1c09.getName() 在 com.aprisma.product.gcm.service.integration.impl.SecurityServiceImpl.getMenuTree(SecurityServiceImpl.java:312 ) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect。NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at org.springframework.aop.support .AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 在org.springframework.transaction.interceptor.TransactionInterceptor$1.doInTransaction(TransactionInterceptor.java:132) at org.springframework.transaction.jta.WebSphereUowTransactionManager$UOWActionAdapter.run(WebSphereUowTransactionManager.java:337) at com.ibm.ws.uow.UOWManagerImpl .runUnderNewUOW(UOWManagerImpl.java:1067) at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW(UOWManagerImpl.java:628) at org.springframework.transaction.jta.WebSphereUowTransactionManager.execute(WebSphereUowTransactionManager.java:281) at org.springframework .transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:127) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java :202) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.aprisma.product.gcm.service.impl.LoginServiceImpl.getMenuTree(LoginServiceImpl.java:279) 的 $Proxy1104.getMenuTree(Unknown Source)。反射.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:45) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在 java.lang.reflect.Method.invoke(Method.java:599) 在 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils .java:318) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 在 org.springframework.transaction 的 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)。在 com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW(UOWManagerImpl.java :1067) 在 com.ibm。ws.uow.UOWManagerImpl.runUnderUOW(UOWManagerImpl.java:628) 在 org.springframework.transaction.jta.WebSphereUowTransactionManager.execute(WebSphereUowTransactionManager.java:281) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java: 127) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy1335.getMenuTree(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在 java.lang.reflect.Method。调用(方法.java:599) 在 com.aprisma.component.esm.utils.CallUtils.springCall1(CallUtils.java:452) 在 com.aprisma.component.esm.utils.CallUtils.springCall2(CallUtils.java:465) 在 com.aprisma.component .esm.utils.CallUtils.springCall(CallUtils.java:413) 在 com.aprisma.component.esm.utils.CallUtils.call(CallUtils.java:777) 在 com.aprisma.component.esm.delegate.BusinessObjectFactory.callBusinessObject (BusinessObjectFactory.java:275) 在 com.aprisma.component.web2.service.CallBOService.callService(CallBOService.java:9) 在 com.aprisma.product.gcm.retail.web.mvc.AbstractController.callService(AbstractController.java :45) 在 com.aprisma.product.gcm.retail.web.mvc.customer.LoginController.prepareMenuList(LoginController.java:376) 在 com.aprisma.product.gcm.retail.web.mvc.customer.LoginController.login (登录控制器.java:215) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在 java.lang.reflect .Method.invoke(Method.java:599) 在 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod (AnnotationMethodHandlerAdapter.java:436) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) 在com.aprisma.component.web2。servlet.CustomDispatcherServlet.doDispatch(CustomDispatcherServlet.java:17) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:738) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java :831) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597) 在 com.ibm.com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)。 ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131) 在 com.aprisma.component.web.filters.UserContextFilter。doFilterInternal(UserContextFilter.java) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 在 com.ibm .ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 在 com.aprisma.component.web.filters.InputSanitationFilter.doFilter(InputSanitationFilter.java) 在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter (FilterInstanceWrapper.java:188) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 在 com.ibm.ws。webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) 在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest( ServletWrapperImpl.java:179) 在 com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91) 在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864) 在 com.ibm .ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583) 在 com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 在 com.ibm.ws.http.channel.inbound.impl .HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 在 com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 在 com. ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) 在 com.ibm.ws。 tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) 在 com.ibm.ws.util。 ThreadPool$Worker.run(ThreadPool.java:1604)impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager。 workerRun(WorkQueueManager.java:984) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.爪哇:1604)impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager。 workerRun(WorkQueueManager.java:984) 在 com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.爪哇:1604)

问题仅在我使用 websphere 事务管理器时出现,如果我使用 weblogic 事务管理器,它工作正常。我试图寻找同样的问题,但似乎没有人和我有同样的问题。所以,我想问一下有没有人遇到过同样的问题?有什么解决办法吗?

谢谢你,罗宾

4

0 回答 0