Description
Currently if you create a TikaConfig from a file (ex tika-config.xml). There is no way to specify that you want to use a ServiceLoader with dynamic set. Prior to tika 1.7 this was not an issue since the during the tika-config.xml parse Tika would instantiate parsers using the default constructor which in turn would instantiate a new ServiceLoader. The default ServiceLoader constructor sets dynamic to true which allows dynamic loading of parsers.
Changes to TikaConfig now cause the tika-config.xml parse to call a constructor which passes the ServiceLoader to be passed as a parameter. This ServiceLoader is always constructed with a Classloader which will cause dynamic to always be set to false. This breaks Tika in OSGi environments which depend on dynamic being set to true (for example Apache Sling).
I'm proposing adding an xml attribute to the parser element to instantiate the parser with dynamic set to true. This allows users of tika-config.xml to determine how they want parsers loaded.
Attachments
Attachments
Issue Links
- is related to
-
OAK-5048 Upgrade to Tika 1.15 version
- Closed
- relates to
-
SLING-4645 Update Tika to 1.10
- Resolved
-
TIKA-1677 Tika newer 1.6 fails on OSGi
- Closed
-
TIKA-2977 Tika should throw an exception if a custom parser specified in tika-config.xml can't be loaded
- Resolved