[ https://issues.apache.org/jira/browse/TIKA-1700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bob Paulin updated TIKA-1700: ----------------------------- Attachment: TIKA-1700B.patch Apache Jackrabbit for example may be used inside or outside the OSGi environment. Using the code above for example would require Jackrabbit to have a toggle to determine what to pass for dynamic to the ServiceLoader object. If it can be done via the tika-config.xml then Jackrabbit does not need to be responsible for this toggle because Tika has already provided it. Tika owns the service loader logic so I feel it's best that it provides the switches. I agree that the parser is the wrong spot to tackle this problem. I've moved higher up in the TikaConfig Logic in the next patch. I also added some logic to allow the LoadErrorHandler to be defined in xml as well. > tika-config.xml does not provide a way to set ServiceLoader to dynamic > ---------------------------------------------------------------------- > > Key: TIKA-1700 > URL: https://issues.apache.org/jira/browse/TIKA-1700 > Project: Tika > Issue Type: Bug > Components: core > Affects Versions: 1.7, 1.8, 1.9, 1.10 > Environment: OSGi > Reporter: Bob Paulin > Attachments: TIKA-1700.patch, TIKA-1700A.patch, TIKA-1700B.patch > > > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)