You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2018/11/03 17:03:00 UTC

[jira] [Reopened] (UIMA-5802) UIMA Class Loader to incorporate Thread context class loader

     [ https://issues.apache.org/jira/browse/UIMA-5802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor reopened UIMA-5802:
----------------------------------

implementation is not backwards compatible.  To be backwards compatible, if a class is not found when using the ThreadLocal Context Class Loader, fall back to using the class loader for the uimaj-core classes.

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