Error creating bean with name 'gwcBlobStore'

Description

We have created an application that will use the GWC functionalities to query a local GeoServer instance for creating tiled images. This is application is structures as follows:

  1. A bounding box is given to the application and a layer to query on GeoServer

  2. A GeoServer instance is started through Spring where we specify to load in the beans for all "applicationContext.xml" files on the classpath

During the startup of the GeoServer instance we see the following error message:

Looking at the geowebcache-core-context.xml delivered in GeoServer 2.14.1, we see the following bean definition:

However, the constructor for CompositeBlobStore of GWC 1.14.1 (imported by GeoServer) requires 4 arguments. The missing argument, gwcBlobStoreAggregator is defined in the context file but not passed as an argument for creating the CompositeBlobStore bean.

The result is that the GeoServer instance cannot be started as the bean can not be created.

Environment

Linux, Geoserver 2.14.1, Java environment

Activity

Show:
Torben Barsballe
February 1, 2019, 9:51 PM
Edited

This was introduced by: https://github.com/GeoWebCache/geowebcache/pull/593

That file should have been updated at that time, but apparently wasn't.

I'm kind of surprised this hasn't broke for others, I would have expected something like this failure to be more prevalent. My best guess is that GeoServer is loading the correct config from the GWC version of that file https://github.com/GeoWebCache/geowebcache/blob/master/geowebcache/web/src/main/webapp/WEB-INF/geowebcache-core-context.xml#L94-L99 has the correct configuration

I'll put together a fix for GeoServer. In the meantime, you may be able to work around the issue by depending upon the org.geowebcache:gwc-web module. Alternatively, just add the correct bean definition (linked above) to your project's top-level applicationContext.xml

Fixed

Assignee

Torben Barsballe

Reporter

Bram Janssen

Fix versions

Affects versions

Priority

High
Configure