geoserver / geoserver-cloud

Cloud Native GeoServer is GeoServer ready to use in the cloud through dockerized microservices.
http://geoserver.org/geoserver-cloud
Other
260 stars 79 forks source link

Fix a bug where changes to GWC layers won't be propagated to other pods. #570

Closed groldan closed 3 weeks ago

groldan commented 3 weeks ago

In vanilla GeoServer, CatalogConfiguration is the TileLayerConfiguration contributed to the app context to serve TileLayers (GeoServerTileLayer) from the GeoServer Catalog by means of a TileLayerCatalog.

This update contributes a different TileLayerConfiguration for the same purpose, GeoServerTileLayerConfiguration, which is a distributed-event-aware decorator over the actual CloudCatalogConfiguration implementation of TileLayerCatalog.

Since CloudCatalogConfiguration is therefore not a Spring bean (to avoid registering it as a delegate to TileLayerDispatcher), TileLayerEvents need to be relayed from GeoServerTileLayerConfiguration to CloudCatalogConfiguration#onTileLayerEventEvict().