[Geoserver-devel] [jira] Created: (GEOS-1690) GeoServerExtensions caching breaks prototype contract of some beans

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