Hi Dennis,

Thank you for your fast reply. I downloaded the JSF specification and
referred to section 10.2.6.1. The only thing mentioned about the webapp
classloader there is that once the class name of the factory
implementation class is found, the webapp classloader is used to load
the factory implementation class. 

It does not mention the constraint that the context classloader cannot
be changed during the lifetime of the application. If I follow the
specification correctly, the factory implementation class's name should
be able to be found even if the context classloader is changed. 

But in the myFaces implementation of FactoryFinder, it seems that the
logic used to find the factory implementation class name is tied to the
classloader. 

Therefore, I would appreciate if you can revisit this issue to see
whether the context classloader really cannot be changed during the
lifecycle of the application. Thank you very much.

Regards,

Kim Huat


-----Original Message-----
From: Dennis Byrne (JIRA) [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 01, 2006 2:31 PM
To: Toh Kim Huat NCS
Subject: [jira] Closed: (MYFACES-1158) Use of context classloader as key
in _registeredFactoryNames

     [ http://issues.apache.org/jira/browse/MYFACES-1158?page=all ]
     
Dennis Byrne closed MYFACES-1158:
---------------------------------

    Resolution: Invalid
     Assign To: Dennis Byrne

The behavior of FactoryFinder is defined by the JSF specification.  See
section 10.2.6.1 .

> Use of context classloader as key in _registeredFactoryNames
> ------------------------------------------------------------
>
>          Key: MYFACES-1158
>          URL: http://issues.apache.org/jira/browse/MYFACES-1158
>      Project: MyFaces Core
>         Type: Bug
>   Components: General
>     Versions: 1.1.1
>  Environment: Any
>     Reporter: Toh Kim Huat
>     Assignee: Dennis Byrne
>     Priority: Minor
>      Fix For: 1.1.1

>
> In FactoryFinder.java, the context classloader is used as the key to
set/retrieve the factoryClassNames Map from the _registeredFactoryNames
map. Problems will occur if the context classloader used to put a
factoryClassNames into the factoryClassNames Map is different from the
context classloader used to retrieve a factoryClassNames from the
factoryClassNames Map. The context classloader might be different if for
instance the application uses a custom classloader which is inserted
into the classloader hierarchy by setting the current context
classloader as its parent classloader and then setting itself to be the
current thread's context classloader.
> Is it possible not to use the context classloader as the Map's key? Or
perhaps if an entry cannot be retrieved from the Map using the current
context classloader, can we use its parent (iteratively) to retrieve
from the Map until we get an entry?

-- 
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

Reply via email to