I'm having difficulty setting up an S3 bucket as a blobstore through geowebcache.
I have installed geoserver 2.8.2
which has gwc 1.8.1
I am following the docs at http://geowebcache.org/docs/1.8.x/configuration/storage.html#amazon-simple-storage-service-s3-blob-store
My config for the blobstore (with names and keys removed):
<backendTimeout>120</backendTimeout>
<blobStores>
<S3BlobStore default="false">
<id>S3Cache</id>
<enabled>false</enabled>
<bucket>bucketName</bucket>
<prefix>gwc</prefix>
<awsAccessKey>key</awsAccessKey>
<awsSecretKey>secretkey</awsSecretKey>
<maxConnections>50</maxConnections>
<useHTTPS>true</useHTTPS>
<useGzip>true</useGzip>
</S3BlobStore>
</blobStores>
I have geoserver installed through tomcat7
so when I restart the service and watch my geoserver logs I get the following error:
2016-03-02 07:56:22,294 INFO [config.XMLConfiguration] – Configuration file validated fine.
2016-03-02 07:56:22,381 WARN [support.DisposableBeanAdapter] – Invocation of destroy method failed on bean with name 'geoServerLoader': java.lang.NullPointerException
2016-03-02 07:56:22,383 ERROR [context.ContextLoader] – Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'GeoSeverTileLayerCatalog' defined in URL [jar:file:/var/lib/tomcat7/webapps/geoserver/WEB-INF/lib/gs-gwc-2.8.2.jar!/geowebcache-geoserver-context.xml]: Cannot resolve reference to bean 'gwcXmlConfig' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gwcXmlConfig' defined in URL [jar:file:/var/lib/tomcat7/webapps/geoserver/WEB-INF/lib/gs-gwc-2.8.2.jar!/geowebcache-core-context.xml]: Invocation of init method failed; nested exception is com.thoughtworks.xstream.converters.ConversionException: S3BlobStore : S3BlobStore
—- Debugging information —-
message : S3BlobStore
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : S3BlobStore
class : java.util.ArrayList
required-type : java.util.ArrayList
converter-type : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[1] : org.geowebcache.config.GeoWebCacheConfiguration
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : f22447f59ca37f72bfe6bc746d834b0e73e7c3fc/f22447f59ca37f72bfe6bc746d834b0e73e7c3fc
The error to myself looks like a module is missing, which it might be. The documentation for the latest versions of geoserver
and gwc
indicated to me that s3BlobStore functionality is now included. There used to be an s3 blob store community plugin, but I can't find the download for this, and it looked like this was simply a mod for the geoserver gui to setup an s3 blob where configuration could already be used.
Please could someone point me in the right direction, as to what I might be missing.
EDIT: I've installed Geowebcache 1.8.1
as a standalone, and the config loads correctly and the s3 blob shows in the blobstores. Now if the integrated geowebcache is different to the standalone, how can you get the s3 functionality included?
Best Answer
Geoserver developer confirmed that there was an issue with the nightly build for the S3 plugin http://osgeo-org.1560.x6.nabble.com/geoserver-gwc-s3-plugin-td5253778.html
gwc-S3-plugin
now available at http://ares.opengeo.org/geoserver/master/community-latest/Downloaded, installed, and working as expected.