Skip to content

Spring Session GemFire incompatible with Spring 5.0 #714

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
rwinch opened this issue Jan 17, 2017 · 3 comments
Closed

Spring Session GemFire incompatible with Spring 5.0 #714

rwinch opened this issue Jan 17, 2017 · 3 comments
Assignees
Labels
in: build An issue in the build in: gemfire
Milestone

Comments

@rwinch
Copy link
Member

rwinch commented Jan 17, 2017

Spring 5 removed BeanFactoryLocator in spring-projects/spring-framework@ac6aa53 and now the Spring Session GemFire tests fail due to the fact that GemfireBeanFactoryLocator uses BeanFactoryLocator . The stacktrace is

...
	Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireCache' defined in docs.http.HttpSessionGemFireIndexingITests$Config: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.data.gemfire.CacheFactoryBean] from ClassLoader [sun.misc.Launcher$AppClassLoader@2a139a55]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:484)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:249)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1128)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1056)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:833)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:740)
	... 79 more
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.data.gemfire.CacheFactoryBean] from ClassLoader [sun.misc.Launcher$AppClassLoader@2a139a55]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:652)
	at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:504)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:206)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:187)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:125)
	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:295)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1005)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
	... 89 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/factory/access/BeanFactoryLocator
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.getDeclaredMethods(Class.java:1975)
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:634)
	... 96 more
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.access.BeanFactoryLocator
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 112 more
@jxblum
Copy link
Contributor

jxblum commented Jan 21, 2017

I just committed SGF-587 to the Spring Data GemFire 2.0.x branch addressing the issues with GemfireBeanFactoryLocatorcaused by [SPR-15154](https://jira.spring.io/browse/SPR-15154), which removed theBeanFactoryLocator` functionality from the core Spring Framework.

Therefore, this Spring Session issue should be resolved/fixed.

@jxblum
Copy link
Contributor

jxblum commented Jan 21, 2017

Indeed, the following recent Spring Session Bamboo CI builds were failing (to compile) due to the NoClassDefFoundError/ClassNotFoundException caused by the SDG GemfireBeanFactoryLocator class implementing the no longer existing core Spring Framework BeanFactoryLocator interface...

Build #31
Build #32
Build #33
Build #34

and...

Build #35

However, as of Build #36, the Spring Session Bamboo CI build for 2.0.x is GREEN again.

@jxblum
Copy link
Contributor

jxblum commented Jan 21, 2017

Additionally, Build #217 was the last build in the Spring Session Jenkins CI builds to fail because of this problem

The last 2 Spring Session Jenkins CI builds, Build #218 and Build #219, have PASSED.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: build An issue in the build in: gemfire
Projects
None yet
Development

No branches or pull requests

2 participants