You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IllegalAccessError: class org.javers.spring.jpa.JaversTransactionalDecorator$$EnhancerBySpringCGLIB$$4c0aeeb8 cannot access its superclass org.javers.spring.jpa.JaversTransactionalDecorator
#396
Closed
kaustubhkeshav opened this issue
Jun 24, 2016
· 4 comments
Seeing the below error when using current savers spring boot starter implementation (v 2.0.2)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'javersAuditableRepositoryAspect' defined in class path resource [org/javers/spring/boot/sql/JaversSqlAutoConfiguration.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.javers.core.Javers]: Error creating bean with name 'javers' defined in class path resource [org/javers/spring/boot/sql/JaversSqlAutoConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class org.javers.spring.jpa.JaversTransactionalDecorator]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'javers' defined in class path resource [org/javers/spring/boot/sql/JaversSqlAutoConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class org.javers.spring.jpa.JaversTransactionalDecorator]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:464)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory.getAspectInstance(BeanFactoryAspectInstanceFactory.java:80)
at org.springframework.aop.aspectj.annotation.LazySingletonAspectInstanceFactoryDecorator.getAspectInstance(LazySingletonAspectInstanceFactoryDecorator.java:54)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:620)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:602)
at org.springframework.aop.aspectj.AspectJAfterReturningAdvice.afterReturning(AspectJAfterReturningAdvice.java:62)
at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:68)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy161.save(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 23 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'javers' defined in class path resource [org/javers/spring/boot/sql/JaversSqlAutoConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class org.javers.spring.jpa.JaversTransactionalDecorator]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
... 51 common frames omitted
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class org.javers.spring.jpa.JaversTransactionalDecorator]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:207)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:109)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:468)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:349)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:298)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
... 61 common frames omitted
Caused by: org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:328)
at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:445)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:85)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:83)
at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:105)
at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:278)
at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:433)
at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:338)
at org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:55)
at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:203)
... 68 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:409)
at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:319)
... 81 common frames omitted
Caused by: java.lang.IllegalAccessError: class org.javers.spring.jpa.JaversTransactionalDecorator$$EnhancerBySpringCGLIB$$4c0aeeb8 cannot access its superclass org.javers.spring.jpa.JaversTransactionalDecorator
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
... 86 common frames omitted
Here's my custom AuthorProvider that I am using...
@Component
public class JaversSpringAuthorProvider implements AuthorProvider {
@Override
public String provide() {
UserPrincipal principal = (UserPrincipal) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (principal == null) {
return AuthoritiesConstants.SYSTEM_USER;
}
return String.valueOf(principal.getUserKey());
}
}
I'm also using HikariCP for Datasource creation
Some startup logs before the error is thrown are...
2016-06-24 15:20:17.405 INFO 17706 --- [ restartedMain] o.j.s.b.sql.JaversSqlAutoConfiguration : detected Hibernate dialect: H2Dialect
2016-06-24 15:20:17.413 INFO 17706 --- [ restartedMain] o.j.repository.sql.SqlRepositoryBuilder : starting up SQL repository module ...
2016-06-24 15:20:17.515 INFO 17706 --- [ restartedMain] org.javers.java8support.Java8AddOns : loading Java8 add-ons ...
2016-06-24 15:20:17.532 INFO 17706 --- [ restartedMain] org.javers.groovysupport.GroovyAddOns : loading Groovy add-ons ...
2016-06-24 15:20:17.540 INFO 17706 --- [ restartedMain] o.j.c.metamodel.scanner.ScannerModule : using BEAN mappingStyle
2016-06-24 15:20:17.620 INFO 17706 --- [ restartedMain] o.j.s.jpa.TransactionalJaversBuilder : JaVers transactional decorator is ready
2016-06-24 15:20:17.640 INFO 17706 --- [ restartedMain] o.j.r.sql.schema.JaversSchemaManager : creating javers table jv_commit ...
2016-06-24 15:20:17.640 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit using ddl:
CREATE TABLE jv_commit (
commit_pk BIGINT NOT NULL,
author VARCHAR(200),
commit_date TIMESTAMP,
commit_id NUMERIC(12,2),
CONSTRAINT jv_commit_pk PRIMARY KEY(commit_pk)
)
2016-06-24 15:20:17.642 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit_commit_id_idx using ddl:
CREATE INDEX jv_commit_commit_id_idx ON jv_commit(commit_id)
2016-06-24 15:20:17.643 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit_pk_seq using ddl:
CREATE SEQUENCE jv_commit_pk_seq
2016-06-24 15:20:17.644 INFO 17706 --- [ restartedMain] o.j.r.sql.schema.JaversSchemaManager : creating javers table jv_commit_property ...
2016-06-24 15:20:17.644 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit_property using ddl:
CREATE TABLE jv_commit_property (
property_name VARCHAR(200),
property_value VARCHAR(200),
commit_fk BIGINT,
CONSTRAINT jv_commit_property_pk PRIMARY KEY(commit_fk, property_name),
CONSTRAINT jv_commit_property_commit_fk FOREIGN KEY(commit_fk) REFERENCES jv_commit(commit_pk)
)
2016-06-24 15:20:17.646 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit_property_commit_fk_idx using ddl:
CREATE INDEX jv_commit_property_commit_fk_idx ON jv_commit_property(commit_fk)
2016-06-24 15:20:17.647 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_commit_property_property_name_property_value_idx using ddl:
CREATE INDEX jv_commit_property_property_name_property_value_idx ON jv_commit_property(property_name,property_value)
2016-06-24 15:20:17.648 INFO 17706 --- [ restartedMain] o.j.r.sql.schema.JaversSchemaManager : creating javers table jv_global_id ...
2016-06-24 15:20:17.648 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_global_id using ddl:
CREATE TABLE jv_global_id (
global_id_pk BIGINT NOT NULL,
local_id VARCHAR(200),
fragment VARCHAR(200),
type_name VARCHAR(200),
owner_id_fk BIGINT,
CONSTRAINT jv_global_id_pk PRIMARY KEY(global_id_pk),
CONSTRAINT jv_global_id_owner_id_fk FOREIGN KEY(owner_id_fk) REFERENCES jv_global_id(global_id_pk)
)
2016-06-24 15:20:17.650 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_global_id_local_id_idx using ddl:
CREATE INDEX jv_global_id_local_id_idx ON jv_global_id(local_id)
2016-06-24 15:20:17.650 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_global_id_pk_seq using ddl:
CREATE SEQUENCE jv_global_id_pk_seq
2016-06-24 15:20:17.651 INFO 17706 --- [ restartedMain] o.j.r.sql.schema.JaversSchemaManager : creating javers table jv_snapshot ...
2016-06-24 15:20:17.651 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_snapshot using ddl:
CREATE TABLE jv_snapshot (
snapshot_pk BIGINT NOT NULL,
type VARCHAR(200),
version BIGINT,
state TEXT,
changed_properties TEXT,
managed_type VARCHAR(200),
global_id_fk BIGINT,
commit_fk BIGINT,
CONSTRAINT jv_snapshot_pk PRIMARY KEY(snapshot_pk),
CONSTRAINT jv_snapshot_global_id_fk FOREIGN KEY(global_id_fk) REFERENCES jv_global_id(global_id_pk),
CONSTRAINT jv_snapshot_commit_fk FOREIGN KEY(commit_fk) REFERENCES jv_commit(commit_pk)
)
2016-06-24 15:20:17.653 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_snapshot_global_id_fk_idx using ddl:
CREATE INDEX jv_snapshot_global_id_fk_idx ON jv_snapshot(global_id_fk)
2016-06-24 15:20:17.654 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_snapshot_commit_fk_idx using ddl:
CREATE INDEX jv_snapshot_commit_fk_idx ON jv_snapshot(commit_fk)
2016-06-24 15:20:17.654 INFO 17706 --- [ restartedMain] o.p.core.schema.SchemaManagerImpl : creating entity with name jv_snapshot_pk_seq using ddl:
CREATE SEQUENCE jv_snapshot_pk_seq
2016-06-24 15:20:17.677 WARN 17706 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization
The Repository has been annotated with @JaversSpringDataAuditable and no other code changes have been made to integrate with Javers. I made the changes as suggested in http://javers.org/documentation/spring-boot-integration/ so please let me know if I am missing something here.
The text was updated successfully, but these errors were encountered:
@ravindrapawar I have no idea why you are posting here, this issue is totally unrelated to your exception. Btw try to read and understand stack traces before posting them on github and calling for help.
Factory method 'javers' threw exception; nested exception is com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect
You are trying to connect to MongoDB, but on your machine there is no mongo server at localhost:27017.
Seeing the below error when using current savers spring boot starter implementation (v 2.0.2)
My POM has
Application.yml file has
Here's my custom AuthorProvider that I am using...
I'm also using HikariCP for Datasource creation
Some startup logs before the error is thrown are...
The Repository has been annotated with @JaversSpringDataAuditable and no other code changes have been made to integrate with Javers. I made the changes as suggested in http://javers.org/documentation/spring-boot-integration/ so please let me know if I am missing something here.
The text was updated successfully, but these errors were encountered: