GeoServer was not able to start when I dropped the geoserver.war file
into Tomcat 8.0.24 webapps folder. GeoServer's log file has the
following exception:


2015-07-27 11:50:24,825 WARN [support.DisposableBeanAdapter] -
Invocation of destroy method failed on bean with name
'geoServerLoader':
org.springframework.beans.factory.BeanCreationNotAllowedException:
Error creating bean with name 'gwcFacade': 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!)
2015-07-27 11:50:24,830 ERROR [context.ContextLoader] - Context
initialization failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'ioInitializer' defined in URL
[jar:file:/C:/apache-tomcat-8.0.24/webapps/geoserver/WEB-INF/lib/gs-gwc-2.7.1.1.jar!/geowebcache-wmsservice-context.xml]:
Instantiation of bean failed; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public static synchronized
org.geowebcache.io.ImageIOInitializer
org.geowebcache.io.ImageIOInitializer.getInstance(java.util.ArrayList)]
threw exception; nested exception is
java.util.ServiceConfigurationError:
javax.imageio.spi.ImageOutputStreamSpi: Provider
com.sun.media.imageioimpl.stream.ChannelImageOutputStreamSpi could not
be instantiated
    at 
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1015)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)
    at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)
    at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)
    at 
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)
    at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
    at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
    at 
org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:23)
    at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)
    at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)
    at 
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public static synchronized
org.geowebcache.io.ImageIOInitializer
org.geowebcache.io.ImageIOInitializer.getInstance(java.util.ArrayList)]
threw exception; nested exception is
java.util.ServiceConfigurationError:
javax.imageio.spi.ImageOutputStreamSpi: Provider
com.sun.media.imageioimpl.stream.ChannelImageOutputStreamSpi could not
be instantiated
    at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:181)
    at 
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:570)
    ... 28 more
Caused by: java.util.ServiceConfigurationError:
javax.imageio.spi.ImageOutputStreamSpi: Provider
com.sun.media.imageioimpl.stream.ChannelImageOutputStreamSpi could not
be instantiated
    at java.util.ServiceLoader.fail(Unknown Source)
    at java.util.ServiceLoader.access$100(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
    at java.util.ServiceLoader$1.next(Unknown Source)
    at javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(Unknown
Source)
    at javax.imageio.spi.IIORegistry.<init>(Unknown Source)
    at javax.imageio.spi.IIORegistry.getDefaultInstance(Unknown Source)
    at org.geowebcache.io.ImageIOInitializer.<init>(ImageIOInitializer.java:55)
    at 
org.geowebcache.io.ImageIOInitializer.getInstance(ImageIOInitializer.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:160)
    ... 29 more
Caused by: java.lang.IllegalArgumentException: vendorName == null!
    at javax.imageio.spi.IIOServiceProvider.<init>(Unknown Source)
    at javax.imageio.spi.ImageOutputStreamSpi.<init>(Unknown Source)
    at 
com.sun.media.imageioimpl.stream.ChannelImageOutputStreamSpi.<init>(ChannelImageOutputStreamSpi.java:64)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    ... 42 more


It looks like the vendorName == null! is causing the problem. However,
when I dropped the same war file into Tomcat 8.0.23, GeoServer started
normally and does not have this execption. According to info from the
Internet, the JAI imageio library is reading the vendorName from the
jar manifest. It appears that the same code is able to read manifest
on Tomcat 8.0.23 but not on 8.0.24.

My configuration:
Windows 7 SP1 & Windows 8.1 x64 - I tried both. Same exception in both OSes.
JRE 8 Update 45 x64
Tomcat 8.0.24 Windows x64
GeoServer 2.7.1.1

GeoServer's war file is at
http://sourceforge.net/projects/geoserver/files/GeoServer/2.7.1.1/geoserver-2.7.1.1-war.zip
GeoServer's log file is located in
webapps\geoserver\data\logs\geoserver.log. I hope someone can look
into this. Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to