[
http://jira.codehaus.org/browse/GEOS-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Aime reopened GEOS-4425:
-------------------------------
Unfortunately this one is not really fixed.. I thought so but missed a bit.
When the GeoServerLoader does the reload it calls destroy on GeoServerImpl,
that in turn clears up all the listeners.
This means the listeners setup by the initializers are lost, and since the
initializer are called just once, they are lost forever.
This is btw also the cause for the problem reported on the user list about the
status page going NPE, it's due to the jai initializer code not rerunning and
not setting up jai properly (which results in some null objects around, thus
the NPE).
Now, I have in mind two solutions for this one:
- go back and apply the solution originally suggested by Alessio. That one is
simple, but some initializers will have to be re-coded to know they can be
called multiple times (but that they have to reattach listeners... might get a
bit convoluted)
- make a copy of the listeners list before destroy, and set it back. Tried this
one and it works, it also makes sense from the p.o.v of the initializers, but
unfortunately it also results in a leak, because there are other parts that are
reattaching listeners, so the list grows, first 9 listeners, reload, 11,
reload, 13 and so on
Justin, opinions on this one? I guess the path chosen by Alessio works better,
but that will require changes in the way some services (monitoring afaik) do
their initialization
> GeoServerLoader reload forgets to load initializers
> ---------------------------------------------------
>
> Key: GEOS-4425
> URL: http://jira.codehaus.org/browse/GEOS-4425
> Project: GeoServer
> Issue Type: Bug
> Affects Versions: 2.1-RC2
> Reporter: Alessio Fabiani
> Assignee: Andrea Aime
> Priority: Critical
> Fix For: 2.1-RC3
>
> Attachments: GEOS-4425.patch
>
>
> The GeoServerLoader reload method actually reloads only the catalog and
> geoserver metadata
> loadCatalog( catalog, xp );
> loadGeoServer( geoserver, xp);
> It's should also invoke the
>
> loadInitializers(geoserver);
> method in order to reload the JAI tilecache and other initializers also.
--
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
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel