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

Uwe Schindler commented on TIKA-1145:
-------------------------------------

It is still strange that you see this behaviour: If both the JAR files of DIH 
and TIKA's JAR files and also your custom parsers are in SolrCore's lib folder, 
they share all the same classloader (the SolrCore's ResourceLoader's 
Classloader).
Problems would only exist, if the TIKA and DIH classes are in the WAR file, but 
the custom parser is in the lib or conf dir of the Solr core. In that case the 
MimeTypesFactory is only loading the classes from its own class loader (which 
is the webapp's), not the Solr ResourceLoader.
In any case, MimeTypesFactory should use the configured classloader.
                
> classloaders issue loading resources when extending Tika
> --------------------------------------------------------
>
>                 Key: TIKA-1145
>                 URL: https://issues.apache.org/jira/browse/TIKA-1145
>             Project: Tika
>          Issue Type: Bug
>          Components: config, mime
>    Affects Versions: 1.3
>         Environment: Tika as part of standard Solr distribution
>            Reporter: Maciej Lizewski
>
> I noticed that ServiceLoader is using different classloader when loading 
> 'services' like Parsers, etc (java.net.FactoryURLClassLoader) than 
> MimeTypesFactory (org.eclipse.jetty.webapp.WebAppClassLoader) when loading 
> mime types definitions. As result - it works completely different:
> When jar with custom parser and custom-mimetypes.xml is added to solr.war - 
> both resources are located and loaded 
> (META-INF\services\org.apache.tika.parser.Parser and 
> org\apache\tika\mime\custom-mimetypes.xml) and everything works fine.
> When jar with custom parser is in Solr core lib and configured in 
> solrconfig.xml - only META-INF\services\org.apache.tika.parser.Parser is 
> loaded, but custom-mimetypes.xml is ignored.
> MimeTypesFactory ignores custom classLoader provided in TikaConfig and always 
> using only context provided one:
> ClassLoader cl = MimeTypesReader.class.getClassLoader();

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to