[ http://issues.apache.org/jira/browse/XMLRPC-109?page=all ]
Jochen Wiedmann resolved XMLRPC-109.
------------------------------------
Fix Version/s: 3.0
Resolution: Fixed
I've been choosing the first alternative.
> Problem initalizing the request processors
> ------------------------------------------
>
> Key: XMLRPC-109
> URL: http://issues.apache.org/jira/browse/XMLRPC-109
> Project: XML-RPC
> Issue Type: Bug
> Components: Source, Website
> Affects Versions: 3.0rc1
> Reporter: Catalin Hritcu
> Fix For: 3.0
>
> Attachments: P2PXWikiXmlRpcServlet.java
>
>
> Tried to implement request processors as described in the very good FAQ entry
> here http://ws.apache.org/xmlrpc/faq.html#handler_initialization
> It didn't work at first, and when debugging I discovered that there is a
> major problem here. First a handler map is loaded from a property file, and
> all the handlers are given default RPFFactories.
> PropertyHandlerMapping mapping = super.newPropertyHandlerMapping(url);
> only later is the new RPFFactory created and assigned to the map.
> mapping.load(Thread.currentThread().getContextClassLoader(), url);
> Well, this only stores it in the map, but does not modify any of the handlers
> the map already contains. Which makes the effort of creating and assigning a
> new factory to the map useless, since the factory won't be used when creating
> new handler instances.
> The javadoc is quite useless here in determining the correct behaviour.
> AbstractReflectiveHandlerMapping.setRequestProcessorFactoryFactory only says
> "Sets the mappings RequestProcessorFactoryFactory." No word about what
> should happen with the handlers that are already in the map.
> Since the correct behaviour is not specified there are probably many ways to
> fix this:
> 1. setRequestProcessorFactoryFactory does not update any handlers (current
> situation). Then specify this in the javadoc and fix the FAQ (see attached
> source for a (less elegant) way to accomplish the same thing).
> 2. setRequestProcessorFactoryFactory updates all the contained handlers.
> 3. The handlers never get out of sync with the map that contains them - they
> just don't duplicate information present in the map.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira