[jboss-user] [JBoss/Spring Integration] - Spring LoadTimeWeaver not working in JBoss AS 5.0.1

alen_ribic do-not-reply at jboss.com
Fri May 15 11:34:45 EDT 2009


I tried deploying my web application with the Load-time weaving support and Spring 2.5 on JBoss AS 5.0.1.

That attempt wasn't very sucessful even if giving the spring-agent a try. ("... -javaagent:spring-agent.jar")

I came across the following recent bug report though:

https://jira.jboss.org/jira/browse/JBSPRING-1?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel

I tried the fix, provided by Ales Justin, in the bug report (See comment section) and now got the following error though:

java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:...

See below for more detailed exception stack trace:


  | 16:31:02,502 ERROR [ContextLoader] Context initialization failed
  | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceLookup': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner be
  | an)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transact
  | ionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframe
  | work.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C:/development/jboss-5.0.1.
  | GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
  |         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
  |         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:407)
  |         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)
  |         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
  |         at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:251)
  |         at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
  |         at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
  |         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
  |         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
  |         at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:312)
  |         at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:144)
  |         at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
  |         at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
  |         at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
  |         at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
  |         at $Proxy36.start(Unknown Source)
  |         at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
  |         at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
  |         at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
  |         at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
  |         at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
  |         at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
  |         at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
  |         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
  |         at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
  |         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
  |         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
  |         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
  |         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
  |         at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
  |         at org.jboss.system.ServiceController.start(ServiceController.java:460)
  |         at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
  |         at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
  |         at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
  |         at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
  |         at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
  |         at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
  |         at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
  |         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
  |         at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
  |         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
  |         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
  |         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
  |         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
  |         at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
  |         at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
  |         at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
  |         at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
  |         at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
  |         at org.jboss.Main.boot(Main.java:209)
  |         at org.jboss.Main$1.run(Main.java:547)
  |         at java.lang.Thread.run(Thread.java:619)
  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested excep
  | tion is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined
  |  in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-c
  | ontext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:229)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
  |         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
  |         at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:87)
  |         at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:98)
  |         at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:84)
  |         at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66)
  |         at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:296)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:334)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1368)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
  |         ... 72 more
  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defi
  | ned in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/sprin
  | g-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:274)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
  |         ... 91 more
  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.Bea
  | nCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA
  | /server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:274)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
  |         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268)
  |         ... 99 more
  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C
  | :/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1362)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
  |         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
  |         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
  |         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268)
  |         ... 111 more
  | Caused by: java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader at 19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
  |         at org.jboss.classloader.spi.base.BaseClassLoaderPolicy.setClassLoader(BaseClassLoaderPolicy.java:311)
  |         at org.jboss.classloader.spi.base.BaseClassLoader.<init>(BaseClassLoader.java:104)
  |         at org.jboss.instrument.classloading.JBoss5ClassLoader.getThrowawayClassLoader(JBoss5ClassLoader.java:117)
  |         at org.jboss.instrument.classloading.JBoss5LoadTimeWeaver.getThrowawayClassLoader(JBoss5LoadTimeWeaver.java:130)
  |         at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getNewTempClassLoader(SpringPersistenceUnitInfo.java:87)
  |         at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:19)
  |         at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:312)
  |         at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
  |         at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:221)
  |         at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1390)
  |         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359)
  |         ... 120 more
  | 

Is there a way to get around this classloader policy issue by any chance?
Perhaps I can chage the policy somewhere to allow the LTW loader to successfully load?

Thanks in advance.

-Alen

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4231351#4231351

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4231351



More information about the jboss-user mailing list