[
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: [email protected]
For additional commands, e-mail: [email protected]