lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (LUCENE-2182) DEFAULT_ATTRIBUTE_FACTORY faills to load implementation class when iterface comes from different classloader
Date Tue, 29 Dec 2009 11:16:29 GMT

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

Uwe Schindler resolved LUCENE-2182.
-----------------------------------

    Resolution: Fixed

Committed trunk revision: 894348
Committed Lucene 3.0 revision: 894351
Committed Lucene 2.9 revision: 894352

> DEFAULT_ATTRIBUTE_FACTORY faills to load implementation class when iterface comes from
different classloader
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-2182
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2182
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Other
>    Affects Versions: 2.9.1, 3.0
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 2.9.2, 3.0.1, 3.1
>
>         Attachments: LUCENE-2182.patch
>
>
> This is a followup for [http://www.lucidimagination.com/search/document/1724fcb3712bafba/using_the_new_tokenizer_api_from_a_jar_file]:
> The DEFAULT_ATTRIBUTE_FACTORY should load the implementation class for a given attribute
interface from the same classloader like the attribute interface. The current code loads it
from the classloader of the lucene-core.jar file. In solr this fails when the interface is
in a JAR file coming from the plugins folder. 
> The interface is loaded correctly, because the addAttribute(FooAttribute.class) loads
the FooAttribute.class from the plugin code and this with success. But as addAttribute tries
to load the class from its local lucene-core.jar classloader it will not find the attribute.
> The fix is to tell Class.forName to use the classloader of the corresponding interface,
which is the correct way to handle it, as the impl and the attribute should always be in the
same classloader and file.
> I hope I can somehow add a test for that.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message