[ 
https://issues.apache.org/jira/browse/SCB-998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liubao closed SCB-998.
----------------------
    Resolution: Invalid

> [SCB-998] do not support hibernate lazy loading
> -----------------------------------------------
>
>                 Key: SCB-998
>                 URL: https://issues.apache.org/jira/browse/SCB-998
>             Project: Apache ServiceComb
>          Issue Type: Bug
>          Components: Java-Chassis
>            Reporter: 何一乐
>            Priority: Blocker
>
> when use spring boot, there is a config *jpa.open-in-view=true* ,
> prevent session closed ahead of time we expect. but cse(java chassis ) makes 
> the config invalid.
> ```
> org.hibernate.LazyInitializationException: could not initialize proxy - no 
> Session
>       at 
> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:155)
>       at 
> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:268)
>       at 
> org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
>       at 
> com.huawei.ioc.app.basemgmt.entity.BasEquipmentInfoEntity_$$_jvst5bc_12.getEquipCn(BasEquipmentInfoEntity_$$_jvst5bc_12.java)
>       at 
> com.huawei.ioc.app.basemgmt.controller.AppEquipmentController.get(AppEquipmentController.java:121)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:180)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.syncInvoke(SwaggerProducerOperation.java:165)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:119)
>       at 
> org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:40)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$construct$2(BizkeeperCommand.java:79)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
>       at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.Observable.subscribe(Observable.java:10247)
>       at rx.Observable.subscribe(Observable.java:10214)
>       at rx.Observable.subscribe(Observable.java:10095)
>       at 
> org.apache.servicecomb.bizkeeper.BizkeeperHandler.handle(BizkeeperHandler.java:78)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.qps.ProviderQpsFlowControlHandler.handle(ProviderQpsFlowControlHandler.java:49)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:205)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:178)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:162)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:145)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> 11:03:48.798 [pool-2-thread-1] WARN  o.a.s.bizkeeper.BizkeeperCommand - 
> bizkeeper command PRODUCER rest 
> huawei-ioc-app-basemgmt.AppEquipmentController.get failed due to {} 
> org.apache.servicecomb.swagger.invocation.exception.InvocationException: 
> InvocationException: code=590;msg=CommonExceptionData [message=Cse Internal 
> Server Error]
>       at 
> org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.doCreate(ExceptionFactory.java:79)
>       at 
> org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertException(ExceptionFactory.java:124)
>       at 
> org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertProducerException(ExceptionFactory.java:97)
>       at 
> org.apache.servicecomb.swagger.invocation.Response.createProducerFail(Response.java:134)
>       at 
> org.apache.servicecomb.swagger.invocation.Response.producerFailResp(Response.java:145)
>       at 
> org.apache.servicecomb.swagger.invocation.exception.DefaultExceptionToResponseConverter.convert(DefaultExceptionToResponseConverter.java:36)
>       at 
> org.apache.servicecomb.swagger.invocation.exception.ExceptionToResponseConverters.convertExceptionToResponse(ExceptionToResponseConverters.java:59)
>       at 
> org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertExceptionToResponse(ExceptionFactory.java:128)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.processException(SwaggerProducerOperation.java:205)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:195)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.syncInvoke(SwaggerProducerOperation.java:165)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:119)
>       at 
> org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:40)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$construct$2(BizkeeperCommand.java:79)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
>       at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
>       at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
>       at 
> rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
>       at rx.Observable.unsafeSubscribe(Observable.java:10151)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
>       at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
>       at rx.Observable.subscribe(Observable.java:10247)
>       at rx.Observable.subscribe(Observable.java:10214)
>       at rx.Observable.subscribe(Observable.java:10095)
>       at 
> org.apache.servicecomb.bizkeeper.BizkeeperHandler.handle(BizkeeperHandler.java:78)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.qps.ProviderQpsFlowControlHandler.handle(ProviderQpsFlowControlHandler.java:49)
>       at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:205)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:178)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:162)
>       at 
> org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:145)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: org.hibernate.LazyInitializationException: could not initialize 
> proxy - no Session
>       at 
> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:155)
>       at 
> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:268)
>       at 
> org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
>       at 
> com.huawei.ioc.app.basemgmt.entity.BasEquipmentInfoEntity_$$_jvst5bc_12.getEquipCn(BasEquipmentInfoEntity_$$_jvst5bc_12.java)
>       at 
> com.huawei.ioc.app.basemgmt.controller.AppEquipmentController.get(AppEquipmentController.java:121)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:180)
>  
> ```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to