Simon-Shlomo Poil created TIKA-3418:
---------------------------------------

             Summary: DefaultZipContainerDetector does not support loading of 
ZipContainerDetectors in an OSGi enviroment
                 Key: TIKA-3418
                 URL: https://issues.apache.org/jira/browse/TIKA-3418
             Project: Tika
          Issue Type: Improvement
          Components: core, parser
    Affects Versions: 2.0.0
            Reporter: Simon-Shlomo Poil


Classes that implements the ZipContainerDetector interface are loaded via the 
ServiceLoader in the DefaultZipContainerDetector (in parsers-zip-commons).

In an OSGi enviroment the current behaviour is (default constructor) to only 
load classes that a found by the DefaultZipContainerDetector classloader, 
however this will miss ZipContainerDetector classes such as the 
[OPCPackageDetector.java|https://github.com/apache/tika/blob/main/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/detect/microsoft/ooxml/OPCPackageDetector.java]
 in the 
[tika-parser-microsoft-module|https://github.com/apache/tika/tree/main/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module].

The DefaultZipConatinerDetector has constructor to pass a ServiceLoader, which 
in principle could allow loading of dynamic services. However, this constructor 
will load the services only on initialization, which does comply with the 
dynamic natur of an OSGi enviroment where services can come and go dynamically.

Linked to this issue is pull-request that attempts solve this issue following a 
similar strategy of service loading as implemented in the DefaultDetector and 
DefaultParser.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to