Author: nick
Date: Wed Aug 19 14:52:57 2015
New Revision: 1696604

URL: http://svn.apache.org/r1696604
Log:
TIKA-1704 Tika config docs patch from Bob Paulin, for the service loader config 
which just snuck into v1.10

Modified:
    tika/site/src/site/apt/1.10/configuring.apt

Modified: tika/site/src/site/apt/1.10/configuring.apt
URL: 
http://svn.apache.org/viewvc/tika/site/src/site/apt/1.10/configuring.apt?rev=1696604&r1=1696603&r2=1696604&view=diff
==============================================================================
--- tika/site/src/site/apt/1.10/configuring.apt (original)
+++ tika/site/src/site/apt/1.10/configuring.apt Wed Aug 19 14:52:57 2015
@@ -138,6 +138,49 @@ Configuring Tika
     At this time, there is no unified way to configure Translators.
     While the work on that is ongoing, for now you will need to review the
     {{{./api/}Tika Javadocs}} to see how individual Translators are configured.
+    
+* {Configuring the Service Loader}
+
+    Tika has a number of service provider types such as parsers, detectors, 
and translators.  
+    The 
{{{./api/org/apache/tika/config/ServiceLoader.html}org.apache.tika.config.ServiceLoader}}
 class provides a registry of each type of provider.  This allows Tika to create
+    implementations such as 
{{{./api/org/apache/tika/parser/DefaultParser.html}org.apache.tika.parser.DefaultParser}},
 
+    
{{{./api/org/apache/tika/language/translate/DefaultTranslator.html}org.apache.tika.language.translate.DefaultTranslator}},
 and 
{{{./api/org/apache/tika/detect/DefaultDetector.html}org.apache.tika.detect.DefaultDetector}}
 
+    that can match the appropriate provider to an incoming piece of content.
+    
+    The ServiceLoader's registry can be populated either statically or 
dynamically.
+    
+    Static
+    Static loading is the default which requires no configuration.  This 
configuration options is used in
+    Tika deployments where the Tika JAR files reside together in the same 
classloader hierarchy.  The services 
+    provides are loaded from provider configuration files located within the 
tika-parsers JAR file at META-INF/services.
+    
+    Dynamic
+    Dynamic loading may be required if the tika service providers will reside 
in different classloaders such as 
+    in OSGi.  To allow a provider created in tika-config.xml to utilize 
dynamically loaded services you need to 
+    configure the ServiceLoader to be dynamic with the following configuration:
+    
+---
+<properties>
+  <service-loader dynamic="true"/>
+  ....
+</properties>
+---
+
+    The ServiceLoader can contains a handler to deal with errors that occur 
during provider initialization.  For example
+    if a class fails to initialize LoadErrorHandler deals with the exception 
that is thrown.
+    This handler can be configured to:
+    
+    IGNORE - (Default) Do nothing when providers fail to initialize.
+    WARN   - Log a warning when providers fail to initialize.
+    THROW  - Throw an exception when providers fail to initialize.
+
+For example to set the LoadErrorHandler to WARN then use the following 
configuration:
+---
+<properties>
+  <service-loader loadErrorHandler="WARN"/>
+  ....
+</properties>
+---
 
 ~~ When Translators can have their parameters configured, mention here about
 ~~ specifying which single one to use in the Tika Config XML


Reply via email to