Hi,
I have the same problem (weblogic 10.3.5) trying to upgrade from 2.1.3 to 2.4.1 (I need some of the new WPS processors). I think is not related to a class loading but to some error when trying to upgrade the security model.
When I try the deploy of the new war with my 2.1.3 version data dir, I have:
Geoserver.log
2013-11-19 12:46:55,987 INFO [layer.TileLayerDispatcher] - Configuration /wl_domains/imdate/geoserver_data_dir/gwc contained no layers.
2013-11-19 12:46:57,901 INFO [storage.MetastoreRemover] - Migrating the old metastore to filesystem storage
2013-11-19 12:46:58,092 INFO [storage.MetastoreRemover] - Migrating 0 parameters from the metastore to the file system
2013-11-19 12:46:58,148 INFO [storage.MetastoreRemover] - Cleaning up the old H2 database
2013-11-19 12:46:58,153 INFO [storage.MetastoreRemover] - Cleaning up the old disk quota database
2013-11-19 12:46:58,158 INFO [seed.SeederThreadPoolExecutor] - Initiating shut down for running and pending seed tasks…
2013-11-19 12:46:58,161 INFO [seed.SeederThreadPoolExecutor] - Seeder thread pool executor shut down complete.
2013-11-19 12:46:58,164 INFO [storage.DefaultStorageBroker] - Destroying StorageBroker
2013-11-19 12:46:58,167 WARN [support.DisposableBeanAdapter] - Invocation of destroy method failed on bean with name ‘geoServerLoader’: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ‘metaTileCache’: Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
2013-11-19 12:46:58,170 ERROR [context.ContextLoader] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘wms-1_1_1-ServiceDescriptor’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/wms-2.4.1.jar!/applicationContext.xml]: Cannot resolve reference to bean ‘wmsService2’ while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘wmsService2’: FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘wmsServiceInterceptor_CachingWMS’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/gwc-2.4.1.jar!/applicationContext.xml]: Cannot resolve reference to bean ‘cachingWebMapService’ while setting bean property ‘advice’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘cachingWebMapService’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/gwc-2.4.1.jar!/applicationContext.xml]: Cannot resolve reference to bean ‘gwcFacade’ while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘gwcFacade’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/gwc-2.4.1.jar!/applicationContext.xml]: Cannot resolve reference to bean ‘DiskQuotaMonitor’ while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘DiskQuotaMonitor’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/gwc-2.4.1.jar!/geowebcache-diskquota-context.xml]: Cannot resolve reference to bean ‘DiskQuotaConfigLoader’ while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘metastoreRemover’ defined in URL [zip:/wl_domains/imdate/servers/IMDAppSrv1/stage/geoserver/geoserver/WEB-INF/lib/gwc-2.4.1.jar!/geowebcache-core-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.geowebcache.storage.MetastoreRemover]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org/apache/commons/io/FileUtils.write(Ljava/io/File;Ljava/lang/CharSequence;)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:616)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
….
Same error in the AdminServer log.
If I use the data dir contained in the war (so, no upgrade is performed) , modifying the web.xml to point to the new dir, I have:
AdminServer.log
####<Nov 19, 2013 12:55:27 PM WET> <[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’> <> <> <> <1384865727531> <Stack trace for message 149004
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:637)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:140)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:164)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: java.io.FileNotFoundException: security/config.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:120)
at org.geoserver.security.GeoServerSecurityManager.loadConfigFile(GeoServerSecurityManager.java:2494)
at org.geoserver.security.GeoServerSecurityManager.loadConfigFile(GeoServerSecurityManager.java:2508)
at org.geoserver.security.GeoServerSecurityManager.loadSecurityConfig(GeoServerSecurityManager.java:2478)
at org.geoserver.security.GeoServerSecurityManager.migrateFrom23(GeoServerSecurityManager.java:2396)
at org.geoserver.security.GeoServerSecurityManager.onApplicationEvent(GeoServerSecurityManager.java:326)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:327)
at org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:25)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1872)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:140)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
And I gave up, now I am using the jetty version…
Andrea
From: NORMAN MANN [mailto:normanmann@anonymised.com]
Sent: martedì 19 novembre 2013 12:57
To: geoserver-users@lists.sourceforge.net
Subject: [Geoserver-users] Weblogic 10.3 / GeoServer 2.4.1
Hi,
Has anybody managed to get GeoServer 2.4.1 working on Weblogic 10.3?
I think there are various classloading conflicts going on, and would appreciate some help resolving them.
For example, out of the box I get errors similar to the following.
Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.write(Ljava/io/File;Ljava/lang/CharSequence;)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:495)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:162)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
Truncated. see log file for complete stacktrace
If I configure weblogic to “prefer” web-inf/lib classes (by adding true into weblogic.xml) I get errors simiar to the following.
Caused By: java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory cannot be cast to javax.xml.parsers.DocumentBuilderFactory
at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFactory(DefaultDocumentLoader.java:89)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:70)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
Truncated. see log file for complete stacktrace
If I try to only prefer certain packages by doing something like this in Weblogic XML
org.apache.*
org.springframework.*
Then starting the geoserver application within weblogic takes a long time (10 minutes?) then eventually runs out of memory.
weblogic.application.ModuleException: PermGen space
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1522)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktrace
The reason I am trying to upgrade GeoServer is because version 2.1.1 security doesn’t seem to work. I have tried various things, but seem to get a 404 returned because there is no geoserver/accessDenied.jsp. This seems to happen consistently. On each application start, I get one 401 returned, then from then on (even if correct credentials are supplied) I get a 404. No more 401’s are returned on any browser, on my desktop! Just a constant 404 . Any pointers on that would be appreciated too.
Thanks in advance,
Norman
ATTENZIONE: le informazioni contenute in questo messaggio sono da considerarsi confidenziali ed il loro utilizzo e’ riservato unicamente al destinatario sopra indicato. Chi dovesse ricevere questo messaggio per errore e’ tenuto ad informare il mittente ed a rimuoverlo definitivamente da ogni supporto elettronico o cartaceo.
WARNING: This message contains confidential and/or proprietary information which may be subject to privilege or immunity and which is intended for use of its addressee only. Should you receive this message in error, you are kindly requested to inform the sender and to definitively remove it from any paper or electronic format.