Skip to content

java.lang.IllegalArgumentException: org.springframework.data.mongodb.core.convert.LazyLoadingProxy referenced from a method is not visible from class loader #4260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
yangwenjie008 opened this issue Dec 30, 2022 · 3 comments
Assignees
Labels
type: regression A regression from a previous release

Comments

@yangwenjie008
Copy link
Contributor

java.lang.IllegalArgumentException: org.springframework.data.mongodb.core.convert.LazyLoadingProxy referenced from a method is not visible from class loader
       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[na:na]
       at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
       at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na]
       at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:562) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:689) ~[na:na]
       at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na]
       at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[na:na]
       at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na]
       at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
       at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[na:na]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.processChangeOrder(RefershChangeOrderFromGSDToDbTask.java:119) ~[classes/:0.0.1-SNAPSHOT]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.process(RefershChangeOrderFromGSDToDbTask.java:103) ~[classes/:0.0.1-SNAPSHOT]
       at .runner.schedule.Schedules.refershChangeOrderFromGSDToDbTask(Schedules.java:334) ~[classes/:0.0.1-SNAPSHOT]
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
       at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.0.2.jar:6.0.2]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) ~[spring-aop-6.0.2.jar:6.0.2]
       at net.javacrumbs.shedlock.core.DefaultLockingTaskExecutor.executeWithLock(DefaultLockingTaskExecutor.java:74) ~[shedlock-core-4.33.0.jar:na]
       at net.javacrumbs.shedlock.spring.aop.MethodProxyScheduledLockAdvisor$LockingInterceptor.invoke(MethodProxyScheduledLockAdvisor.java:86) ~[shedlock-spring-4.33.0.jar:na]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) ~[spring-aop-6.0.2.jar:6.0.2]
       at .runner.schedule.Schedules$$SpringCGLIB$$0.refershChangeOrderFromGSDToDbTask(<generated>) ~[classes/:0.0.1-SNAPSHOT]
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
       at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
       at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-6.0.2.jar:6.0.2]
       at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.0.2.jar:6.0.2]
       at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) ~[spring-context-6.0.2.jar:6.0.2]
       at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
       at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
       at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: java.lang.IllegalArgumentException: org.springframework.data.mongodb.core.convert.LazyLoadingProxy referenced from a method is not visible from class loader
       at java.base/java.lang.reflect.Proxy$ProxyBuilder.ensureVisible(Proxy.java:883) ~[na:na]
       at java.base/java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Proxy.java:721) ~[na:na]
       at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:648) ~[na:na]
       at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$1(Proxy.java:440) ~[na:na]
       at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329) ~[na:na]
       at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205) ~[na:na]
       at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:438) ~[na:na]
       at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1037) ~[na:na]
       at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:123) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:115) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:97) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.data.mongodb.core.convert.LazyLoadingProxyFactory.createLazyLoadingProxy(LazyLoadingProxyFactory.java:123) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.DefaultReferenceResolver.createLazyLoadingProxy(DefaultReferenceResolver.java:111) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.DefaultReferenceResolver.resolveReference(DefaultReferenceResolver.java:73) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readAssociation(MappingMongoConverter.java:660) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:597) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.populateProperties(MappingMongoConverter.java:535) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:513) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readDocument(MappingMongoConverter.java:477) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:413) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.convert.MappingMongoConverter.project(MappingMongoConverter.java:305) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.MongoTemplate$ProjectingReadCallback.doWith(MongoTemplate.java:3123) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
      at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2735) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2470) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.doFind(ExecutableFindOperationSupport.java:171) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.firstValue(ExecutableFindOperationSupport.java:127) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.lambda$getExecution$6(AbstractMongoQuery.java:179) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.doExecute(AbstractMongoQuery.java:143) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.execute(AbstractMongoQuery.java:118) ~[spring-data-mongodb-4.0.0.jar:4.0.0]
       at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136) ~[spring-data-commons-3.0.0.jar:3.0.0]
       at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120) ~[spring-data-commons-3.0.0.jar:3.0.0]
       at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164) ~[spring-data-commons-3.0.0.jar:3.0.0]
       at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143) ~[spring-data-commons-3.0.0.jar:3.0.0]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:77) ~[spring-data-commons-3.0.0.jar:3.0.0]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.0.2.jar:6.0.2]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:218) ~[spring-aop-6.0.2.jar:6.0.2]
       at jdk.proxy3/jdk.proxy3.$Proxy192.findFirstByPeoplesIn(Unknown Source) ~[na:na]
       at jdk.internal.reflect.GeneratedMethodAccessor576.invoke(Unknown Source) ~[na:na]
       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
       at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.0.2.jar:6.0.2]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-6.0.2.jar:6.0.2]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.2.jar:6.0.2]
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:218) ~[spring-aop-6.0.2.jar:6.0.2]
       at jdk.proxy3/jdk.proxy3.$Proxy192.findFirstByPeoplesIn(Unknown Source) ~[na:na]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.getPodByStaffId(RefershChangeOrderFromGSDToDbTask.java:189) ~[classes/:0.0.1-SNAPSHOT]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.processChangeOrder(RefershChangeOrderFromGSDToDbTask.java:332) ~[classes/:0.0.1-SNAPSHOT]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.convertChangeInquiryResponseModelToChangeOrderModel(RefershChangeOrderFromGSDToDbTask.java:205) ~[classes/:0.0.1-SNAPSHOT]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.processChangeInquiryResponse(RefershChangeOrderFromGSDToDbTask.java:156) ~[classes/:0.0.1-SNAPSHOT]
at .runner.schedule.tasks.RefershChangeOrderFromGSDToDbTask.lambda$processChangeOrder$1(RefershChangeOrderFromGSDToDbTask.java:128) ~[classes/:0.0.1-SNAPSHOT]
       at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
       at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na]
       at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
       at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na]
       at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
       at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]
@yangwenjie008
Copy link
Contributor Author

yangwenjie008 commented Dec 30, 2022

Hi, I hit above error when I using spring boot 3.0 + spring data mongo 4.0.0.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Dec 30, 2022
@yangwenjie008
Copy link
Contributor Author

java version:
java 17.0.2 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

OS version:
Linux 4.14.294-220.533.amzn2.x86_64 #1 SMP Thu Sep 29 01:01:23 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

@yangwenjie008
Copy link
Contributor Author

I have resolved on my side with this pr4261

@christophstrobl christophstrobl linked a pull request Jan 9, 2023 that will close this issue
4 tasks
@mp911de mp911de added type: regression A regression from a previous release and removed status: waiting-for-triage An issue we've not yet triaged labels Jan 9, 2023
christophstrobl pushed a commit that referenced this issue Jan 11, 2023
Restore original behaviour that was unintentionally changed by modifications related to #4148.

Closes: #4260
Original Pull Request: #4261
@christophstrobl christophstrobl added this to the 4.0.1 (2022.0.1) milestone Jan 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: regression A regression from a previous release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants