Hi Allard,
We’re having some troubles with our cluster setup… It seems that the cluster selector using annotations does not work correctly. We’re facing the stacktrace shown below. When we use a cluster selector based on the classname it all works just fine. Could it be that CGlib has something to do with this issue?
We’re using axon 2.0.9 by the way.
Thnx!!
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:122)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:154)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:100)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:307)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:284)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘formValidatorUtils’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-war/target/classes/com/onegini/form/FormValidatorUtils.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.onegini.service.UserService]: : Error creating bean with name ‘userService’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-war/target/classes/com/onegini/service/UserService.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.onegini.dao.identity.UsernameDao]: : Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘userService’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-war/target/classes/com/onegini/service/UserService.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.onegini.dao.identity.UsernameDao]: : Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:738)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:128)
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)
… 31 more
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘userService’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-war/target/classes/com/onegini/service/UserService.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.onegini.dao.identity.UsernameDao]: : Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:738)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:912)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:803)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:731)
… 49 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘usernameDao’ defined in file [/Users/stein/Documents/code/gini-2.0/onegini/onegini-query/target/classes/com/onegini/dao/identity/UsernameJpaDao.class]: Initialization of bean failed; nested exception is org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:912)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:803)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:731)
… 63 more
Caused by: org.axonframework.eventhandling.EventListenerSubscriptionFailedException: Unable to subscribe [com.onegini.dao.identity.UsernameJpaDao$$EnhancerByCGLIB$$1d22d2f8] to the Event Bus. There is no suitable cluster for it. Make sure the ClusterSelector is configured properly
at org.axonframework.eventhandling.ClusteringEventBus.clusterFor(ClusteringEventBus.java:111)
at org.axonframework.eventhandling.ClusteringEventBus.subscribe(ClusteringEventBus.java:96)
at org.axonframework.eventhandling.annotation.AnnotationEventListenerAdapter.subscribe(AnnotationEventListenerAdapter.java:99)
at org.axonframework.eventhandling.annotation.AnnotationEventListenerAdapter.subscribe(AnnotationEventListenerAdapter.java:52)
at org.axonframework.eventhandling.annotation.AnnotationEventListenerBeanPostProcessor.initializeAdapterFor(AnnotationEventListenerBeanPostProcessor.java:55)
at org.axonframework.eventhandling.annotation.AnnotationEventListenerBeanPostProcessor.initializeAdapterFor(AnnotationEventListenerBeanPostProcessor.java:36)
at org.axonframework.common.annotation.AbstractAnnotationHandlerBeanPostProcessor.postProcessAfterInitialization(AbstractAnnotationHandlerBeanPostProcessor.java:71)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:409)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1518)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
… 73 more