Results 1 to 9 of 9

Thread: Issue With Deploying Spring 3.0.2 app to WebLogic 9.2

  1. #1
    Join Date
    Apr 2007
    Posts
    16

    Default Issue With Deploying Spring 3.0.2 app to WebLogic 9.2

    Hi I apologize if this is not the correct forum for this question, but we recently upgraded our fairly mature app to Spring 3.0.2 and tried to deploy on our target WebLogic 9.2 server; the deployment failed with the following error:

    weblogic.application.ModuleException:
    at weblogic.servlet.internal.WebAppModule.startContex ts(WebAppModule.java:891)
    at weblogic.servlet.internal.WebAppModule.start(WebAp pModule.java:333)
    at weblogic.application.internal.flow.ModuleStateDriv er$3.next(ModuleStateDriver.java:204)
    at weblogic.application.utils.StateMachineDriver.next State(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.ModuleStateDriv er.start(ModuleStateDriver.java:60)
    at weblogic.application.internal.flow.ScopedModuleDri ver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerI nvoker.start(ModuleListenerInvoker.java:117)
    at weblogic.application.internal.flow.ModuleStateDriv er$3.next(ModuleStateDriver.java:204)
    at weblogic.application.utils.StateMachineDriver.next State(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.ModuleStateDriv er.start(ModuleStateDriver.java:60)
    at weblogic.application.internal.flow.StartModulesFlo w.activate(StartModulesFlow.java:26)
    at weblogic.application.internal.BaseDeployment$2.nex t(BaseDeployment.java:635)
    at weblogic.application.utils.StateMachineDriver.next State(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activ ate(BaseDeployment.java:212)
    at weblogic.application.internal.DeploymentStateCheck er.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainer Invoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.A bstractOperation.activate(AbstractOperation.java:5 66)
    at weblogic.deploy.internal.targetserver.operations.A ctivateOperation.activateDeployment(ActivateOperat ion.java:136)
    at weblogic.deploy.internal.targetserver.operations.A ctivateOperation.doCommit(ActivateOperation.java:1 04)
    at weblogic.deploy.internal.targetserver.operations.A bstractOperation.commit(AbstractOperation.java:320 )
    at weblogic.deploy.internal.targetserver.DeploymentMa nager.handleDeploymentCommit(DeploymentManager.jav a:815)
    at weblogic.deploy.internal.targetserver.DeploymentMa nager.activateDeploymentList(DeploymentManager.jav a:1222)
    at weblogic.deploy.internal.targetserver.DeploymentMa nager.handleCommit(DeploymentManager.java:433)
    at weblogic.deploy.internal.targetserver.DeploymentSe rviceDispatcher.commit(DeploymentServiceDispatcher .java:161)
    at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer.doCommitCallback(D eploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer.access$100(Deploym entReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer$2.run(DeploymentRe ceiverCallbackDeliverer.java:67)
    at weblogic.work.ServerWorkManagerImpl$WorkAdapterImp l.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread. java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java :181)
    Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet

    Obviously it is complaining about the org.springframework.beans-3.0.2.x.jar, but that jar is correctly packaged with our app. Also, when I tried to deploy the same app was file to a local (test) instance of WebLogic 9.2, it worked fine.

    We then reverted back to Spring 2.0.6 (which is the version we were using previously) and deployed to our Production WebLogic instance without issues. Is this a Spring or a WebLogic issue? Any known resolution?

    Help is greatly appreciated!

  2. #2
    Join Date
    Jan 2006
    Location
    Seattle, Washington
    Posts
    467

    Default

    Have you tried using a "prefer-application-packages" setting in your "weblogic-application.xml" to make sure WebLogic loads the Spring classes only from the jars in your app?

  3. #3
    Join Date
    Apr 2007
    Posts
    16

    Default

    Quote Originally Posted by dkarr View Post
    Have you tried using a "prefer-application-packages" setting in your "weblogic-application.xml" to make sure WebLogic loads the Spring classes only from the jars in your app?
    No, we don't have weblogic-application.xml, in fact we try to keep our code vendor-agnostic. But will give that a shot and report results. Thanks for the tip!

  4. #4
    Join Date
    Jan 2006
    Location
    Seattle, Washington
    Posts
    467

    Default

    There's nothing wrong with keeping your CODE vendor-agnostic. WebLogic attempts to provide a lot of features internally that use many frameworks that we might use in our own applications. Sometimes you have to tell WebLogic to use your own version, not the one provided by WebLogic. Unfortunately, due to classloader complexity, sometimes that doesn't work. I would think overridding the version of Spring will work, but I believe that overriding the XML parser is more difficult, for instance.

    You can create this "weblogic-application.xml" file, and you can still deploy this anywhere, not just in WebLogic. Any other container will ignore it.

  5. #5
    Join Date
    Apr 2007
    Posts
    16

    Default

    Unfortunately including weblogic-application.xml file did not work, still got the same error message:

    Code:
    [wls05Prod01Mgd01:halo] 2010-05-22 16:23:17,349 ERROR ContextLoader.initWebApplicationContext  - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertyConfigurer' defined in ServletContext resource [/WEB-INF/classes/halo/resources/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:603)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:405)
    	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    	at halo.webapp.listener.StartupListener.contextInitialized(StartupListener.java:70)
    	at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:376)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    	at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:82)
    	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1616)
    	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2761)
    	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:889)
    	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333)
    	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    	at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    	at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
    	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    	at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)
    	at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    	at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    	at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    	at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    	at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
    	at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
    	at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
    	at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
    	at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:815)
    	at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1222)
    	at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:433)
    	at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    	at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    	at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    	at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    	at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    	at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet
    	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:155)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1317)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    	... 47 more
    <May 22, 2010 4:23:17 PM EDT> <Warning> <HTTP> <BEA-101162> <User defined listener halo.webapp.listener.StartupListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertyConfigurer' defined in ServletContext resource [/WEB-INF/classes/halo/resources/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet.
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertyConfigurer' defined in ServletContext resource [/WEB-INF/classes/halo/resources/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    	Truncated. see log file for complete stacktrace
    java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet
    	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:155)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1317)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    	Truncated. see log file for complete stacktrace

  6. #6
    Join Date
    Mar 2006
    Location
    Bangalore, India
    Posts
    242

    Default

    Hi,

    try using this weblogic.xml , put this under the WEB-INF of your app
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
    
      <context-root>/whatevercontext</context-root>
      <container-descriptor>
    	<prefer-web-inf-classes>true</prefer-web-inf-classes>
      </container-descriptor>  
      </weblogic-web-app>
    Sami

  7. #7
    Join Date
    Apr 2007
    Posts
    16

    Default Issue Resolved!

    OK, I was able to finally resolve the issue: apparently it was caused by the tidal agent, which was running on the WL server and was using an earlier version of Spring (2.5.x I believe).
    Just wanted to follow up on this thread in case anyone else has a similar problem.

  8. #8

    Default Need help

    Can you provide specific instructions of how you resolved this issue?

  9. #9
    Join Date
    May 2012
    Posts
    4

    Default

    I'm having a similar issue on Weblogic 11g with Spring Security jars. Do you mind sharing your solution?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •