uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5802) UIMA Class Loader to incorporate Thread context class loader
Date Fri, 29 Jun 2018 18:28:00 GMT

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

Marshall Schor commented on UIMA-5802:
--------------------------------------

Two thing I think were missed:
 # class loading associated with PEAR context supplies a class loader to use.  Those spots
need to have the class loader that is set up have a parent that is set using the same 3 part
logic:
 ** if the resource manager exists and has an extension class loader, use that
 ** if the resource manager exists but doesn't have an extension class loader,
 *** use the TCCL if it exists, else the default UIMA class loader.


 # When the setExtensionPath API is used on a resource manager, without specifying the parent
classloader, that code should insert the TCCL if it exists, else the default UIMA class loader.

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

Mime
View raw message