uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Eckart de Castilho (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5802) UIMA Class Loader to incorporate Thread context class loader
Date Thu, 28 Jun 2018 19:59:00 GMT

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

Richard Eckart de Castilho commented on UIMA-5802:

The thing is that there are 3 scenarios:
 * fetch the context classloader set *the first time* that a resource manager is *created* and
use it *always* for this thread 
 * fetch the context classloader *at the time* resource manager is *created* and use it
 * fetch the context classloader *at the time* resource manager is *used* and use it *once*

uimaFIT currently implements the second option. You are suggesting to go for the first option,

> 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

View raw message