You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by br...@shadowridgedev.com on 2019/08/15 04:08:34 UTC

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

On 2018-06-29 14:37, Richard Eckart de Castilho (JIRA) wrote:
> [
> https://issues.apache.org/jira/browse/UIMA-5802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16528064#comment-16528064
> ]
> 
> Richard Eckart de Castilho commented on UIMA-5802:
> --------------------------------------------------
> 
> Is there some way to avoid duplicating this code everywhere that
> classloaders are used? Would it be an option to make every
> ResourceManager have a UIMAClassloader - i.e. implicitly create an UCL
> which just takes the current CL or the TCL as its parent and use that
> unless the user overwrites by calling `setExtensionClassPath`? Or
> alternatively introduce a method like `getEffectiveClasLoader()` in
> the RM which does what you describe above?
> 
>> 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)