GeoServerExtensions caching breaks prototype contract of some beans
-------------------------------------------------------------------
Key: GEOS-1690
URL: http://jira.codehaus.org/browse/GEOS-1690
Project: GeoServer
Issue Type: Bug
Components: WCS, WFS, WMS
Affects Versions: 1.6.0-RC3
Reporter: Andrea Aime
Assignee: Andrea Aime
Priority: Critical
Fix For: 1.6.0, 1.7.0-beta1
GeoServerExtensions uses a cache to speed up lookups (profiling showed it was a significant part of GetMap request in the specific use case of the FOSS4G 2007 benchmarks).
Caching the results (the beans) unfortunately breaks the prototoype (singleton=false) nature of some beans. To avoid incurring in the context lookup cost and respect the prototype contract the bean names should be cached instead (call context.getBeanNamesForType(extensionPoint)).
This does not cause issues in 1.6.x only because the wms output is not looked up using GeoServerExtensions, and the map producers are not loaded directly, but created thru a factory instead, whilst the Response subclasses are largely able to work as singletons (thought they are not designed to be singletons at all).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira