[ 
https://issues.apache.org/jira/browse/UIMA-5802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16526691#comment-16526691
 ] 

Richard Eckart de Castilho commented on UIMA-5802:
--------------------------------------------------

The problem is: if we want the classloader at creation time (for this thread), 
then how would UIMA cache the classloader and reuse it? It would need to check 
if the thread classloader has changed since the last time it created a resource 
manager and if yes, create a new UIMAClassloader and if not reuse the old one. 
Possible, but... I don't know...

But as I said before: the resource manager creation strategy in uimaFIT can be 
customized by the user. Whatever we come up with at that point, the user could 
choose to implement a different strategy if it suits them.

> UIMA Class Loader to incorporate Thread context class loader
> ------------------------------------------------------------
>
>                 Key: UIMA-5802
>                 URL: https://issues.apache.org/jira/browse/UIMA-5802
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.10.2SDK, 3.0.0SDK
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 3.0.1SDK, 2.10.3SDK
>
>
> A long-outstanding request from uimaFIT is to incorporate the Thread's 
> context class loader in the uima class loader's lookup scheme. see UIMA-5054
> Doing this would allow uimaFIT to no longer create individual class loaders 
> for each AnalysisEngine its factory produces.  This would alleviate UIMA-5801.
> Current logic:
>  # see if already loaded by this loader, if so return with that
>  # try loading it, if succeed, return with that
>  # delegate to the parent.
> Fix logic: same except for a step between 2 and 3:
>       2a. delegate to the Thread context class loader (if available), if 
> succeed, return with that
> Besides doing this for loading classes, it would also be done for getting 
> resources.
> Does anyone see any issues with this approach?
> {quote}It seems this is unneeded; if the thread context class loader is 
> wanted in the chain, it should be the parent.  The suggested approach seems 
> to address a non-issue where 2 parent chains are wanted.
> There are other approaches to prevent multiple class loaders ( and even 
> maybe, multiple ResourceManagers) from being created, which might be a better 
> solution for UIMA-5801.  See comments for this and UIMA-5801.
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to