Spring フレームワークを Spring 3.1.1 にアップグレードしたばかりで、websphere トランザクション マネージャーを使用しています。lazy として宣言されているモデルにアクセスしようとしたときに、次のエラーが発生しました。
[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) で org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111) で org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150) で com .aprisma.product.gcm.common.model.spi.gie.Menu$$EnhancerByCGLIB$$ebdf1c09.getName() at com.aprisma.product.gcm.service.integration.impl.SecurityServiceImpl.getMenuTree(SecurityServiceImpl.java:312) ) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.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.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) 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) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java) :202) $Proxy1104.getMenuTree(Unknown Source) at com.aprisma.product.gcm.service.impl.LoginServiceImpl.getMenuTree(LoginServiceImpl.java:279) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun. Reflect.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.invokeJoinpoint(ReflectiveMethodInvocation.java:183) で org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) で org.springframework.transaction. Interceptor.TransactionInterceptor$1.doInTransaction(TransactionInterceptor.java:132) org.springframework.transaction.jta.WebSphereUowTransactionManager$UOWActionAdapter.run(WebSphereUowTransactionManager.java:337) 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) $Proxy1335.getMenuTree(Unknown Source) でsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で 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 で(LoginController.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.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) で org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) でcom.aprisma.component.web2.org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) の servlet.CustomDispatcherServlet.doDispatch(CustomDispatcherServlet.java:17) 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:1657) で com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597) で com.ibm. com.aprisma.component.web.filters.UserContextFilter の ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)。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.com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) の webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934) 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) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) at com.ibm.ws.http.channel.inbound.impl .HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) at 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. com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) の com.ibm.ws の ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557)。 tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984) at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) at 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. com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) の workerRun(WorkQueueManager.java:984) 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. com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) の workerRun(WorkQueueManager.java:984) com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.ジャワ:1604)
この問題は、websphere トランザクション マネージャーを使用している場合にのみ発生しました。weblogic トランザクション マネージャーを使用している場合は問題なく動作します。同じ問題を検索しようとしましたが、誰も私と同じ問題を抱えていないようです。それで、誰かが同じ問題に直面したことがあるかどうか尋ねたいですか?これに対する解決策はありますか?
ありがとう、ロビン