You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-auto@ws.apache.org by "Jochen Wiedmann (JIRA)" <xm...@ws.apache.org> on 2006/10/05 22:58:29 UTC
[jira] Closed: (XMLRPC-109) Problem initalizing the request
processors
[ http://issues.apache.org/jira/browse/XMLRPC-109?page=all ]
Jochen Wiedmann closed XMLRPC-109.
----------------------------------
> 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