public class MultiprocessingAnalysisEngine_impl extends AnalysisEngineImplBase implements TextAnalysisEngine
AnalysisEngine implementation that can process multiple CAS objects
 simultaneously. This is accomplished by maintaining a pool of AnalysisEngine instances.
 When initialized, this class checks for the parameter AnalysisEngine.PARAM_NUM_SIMULTANEOUS_REQUESTS to
 determine how many AnalysisEngine instances to put in the pool.LOG_RESOURCE_BUNDLE, PARAM_VERIFICATION_MODEMDC_ANNOTATOR_CONTEXT_NAME, MDC_ANNOTATOR_IMPL_NAME, MDC_CAS_ID, MDC_ROOT_CONTEXT_ID, PARAM_CONFIG_PARAM_SETTINGS, PARAM_MBEAN_NAME_PREFIX, PARAM_MBEAN_SERVER, PARAM_NUM_SIMULTANEOUS_REQUESTS, PARAM_RESOURCE_MANAGER, PARAM_THROTTLE_EXCESSIVE_ANNOTATOR_LOGGING, PARAM_TIMEOUT_PERIODPARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_MANAGER, PARAM_EXTERNAL_OVERRIDE_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_UIMA_CONTEXT| Constructor and Description | 
|---|
| MultiprocessingAnalysisEngine_impl() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | batchProcessComplete()Notifies this AnalysisEngine that processing of a batch has completed. | 
| void | collectionProcessComplete()Notifies this AnalysisEngine that processing of an entire collection has completed. | 
| void | destroy()Releases all resources held by this  Resource. | 
| protected org.apache.uima.internal.util.AnalysisEnginePool | getPool()Gets the AnalysisEngine pool used to serve process requests. | 
| protected int | getTimeout()Gets the timeout period, after which an exception will be thrown if no AnalysisEngine is
 available in the pool. | 
| boolean | initialize(ResourceSpecifier aSpecifier,
          Map<String,Object> aAdditionalParams)Initializes this  Resourcefrom aResourceSpecifier. | 
| ProcessTrace | process(CAS aCAS)Invokes this AnalysisEngine's analysis logic. | 
| ProcessTrace | process(CAS aCAS,
       ResultSpecification aResultSpec)Invokes this AnalysisEngine's analysis logic. | 
| void | process(CAS aCAS,
       ResultSpecification aResultSpec,
       ProcessTrace aTrace)Invokes this AnalysisEngine's analysis logic. | 
| ProcessTrace | process(JCas aJCas)Similar to  AnalysisEngine.process(CAS)but uses the Java-object-basedJCasinterface instead
 of the generalCASinterface. | 
| ProcessTrace | process(JCas aJCas,
       ResultSpecification aResultSpec)Similar to  AnalysisEngine.process(CAS,ResultSpecification)but uses the Java-object-basedJCasinterface instead of the generalCASinterface. | 
| void | process(JCas aJCas,
       ResultSpecification aResultSpec,
       ProcessTrace aTrace)Similar to  AnalysisEngine.process(CAS, ResultSpecification, ProcessTrace)but uses the
 Java-object-basedJCasinterface instead of the generalCASinterface. | 
| CasIterator | processAndOutputNewCASes(CAS aCAS)Processes a CAS, possibly producing multiple CASes as a result. | 
| JCasIterator | processAndOutputNewCASes(JCas aJCas)Default implementation of processAndOutputNewCASes(JCas) method. | 
| void | reconfigure()Instructs this Resource to re-read its configuration parameter settings. | 
| void | setLogger(Logger aLogger)Set the logger in the current UimaContext for use by user annotators. | 
| void | setResultSpecification(ResultSpecification aResultSpec)Sets the list of output types and features that the application wants this AnalysisEngine to
 produce. | 
batchProcessComplete, buildProcessTraceFromMBeanStats, buildProcessTraceFromMBeanStats, callInitializeMethod, callProcessMethod, collectionProcessComplete, createResultSpecification, createResultSpecification, enterBatchProcessComplete, enterCollectionProcessComplete, enterProcess, exitBatchProcessComplete, exitCollectionProcessComplete, exitProcess, finalize, getAnalysisEngineMetaData, getCurrentConfigParameterSettings, getFeatureNamesForType, getManagementInterface, getMBean, getMBeanNamePrefix, getMBeanServer, getPerformanceTuningSettings, getProcessingResourceMetaData, isProcessTraceEnabled, isReadOnly, isStateless, newCAS, newJCas, normalizeIsoLangCodes, process, processCas, processCas, resetResultSpecificationToDefault, setMetaData, setPerformanceTuningSettings, typeSystemInitgetConfigParameterValue, getConfigParameterValue, setConfigParameterValue, setConfigParameterValuegetCasManager, getLogger, getMetaData, getRelativePathResolver, getResourceManager, getUimaContext, getUimaContextAdmin, loadUserClass, loadUserClassOrThrow, setContextHolder, setContextHolderX, withContextHolderclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateResultSpecification, createResultSpecification, getAnalysisEngineMetaData, getFeatureNamesForType, getLogger, getManagementInterface, getPerformanceTuningSettings, getResourceManager, newCAS, newJCas, processgetConfigParameterValue, getConfigParameterValue, setConfigParameterValue, setConfigParameterValuegetMetaData, getUimaContext, getUimaContextAdminprocessCas, processCas, typeSystemInitbatchProcessComplete, collectionProcessComplete, getProcessingResourceMetaData, isReadOnly, isStatelesspublic boolean initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams) throws ResourceInitializationException
ResourceResource from a ResourceSpecifier. Applications do
 not need to call this method. It is called automatically by the ResourceFactory
 and cannot be called a second time.initialize in interface AnalysisEngineinitialize in interface Resourceinitialize in class AnalysisEngineImplBaseaSpecifier - specifies how to create a resource or locate an existing resource service.aAdditionalParams - a Map containing additional parameters. May be null if there are no
          parameters. Each class that implements this interface can decide what additional
          parameters it supports.ResourceSpecifier is not of an appropriate type for this Resource. If the
         ResourceSpecifier is of an appropriate type but is invalid or if some
         other failure occurs, an exception should be thrown.ResourceInitializationException - if a failure occurs during initialization.Resource.initialize(org.apache.uima.resource.ResourceSpecifier,
      java.util.Map)public ProcessTrace process(CAS aCAS, ResultSpecification aResultSpec) throws ResultNotSupportedException, AnalysisEngineProcessException
AnalysisEngineCapability specification.)
 
 This version of the process method takes a ResultSpecification as an
 argument. The ResultSpecification is alist of output types and features that the
 application wants this AnalysisEngine to produce. If you are going to use the same
 ResultSpecification for multiple calls to process, it is not recommended
 to use this method. Instead call AnalysisEngine.setResultSpecification(ResultSpecification) once and
 then call AnalysisEngine.process(CAS) for each CAS that you want to process.
process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaCAS - the CAS containing the inputs to the processing. Analysis results will also be written
          to this CAS.aResultSpec - a list of outputs that this AnalysisEngine should produce.ResultNotSupportedException - if this AnalysisEngine is not capable of producing the results requested in
           aResultSpec.AnalysisEngineProcessException - if a failure occurs during processing.AnalysisEngine.process(org.apache.uima.cas.CAS,
      org.apache.uima.analysis_engine.ResultSpecification)public void process(CAS aCAS, ResultSpecification aResultSpec, ProcessTrace aTrace) throws ResultNotSupportedException, AnalysisEngineProcessException
AnalysisEngineCapability specification.)
 
 This version of the process method takes a ResultSpecification as an
 argument. The ResultSpecification is a list of output types and features that the
 application wants this AnalysisEngine to produce. If you are going to use the same
 ResultSpecification for multiple calls to process, it is not recommended
 to use this method. Instead call AnalysisEngine.setResultSpecification(ResultSpecification) once and
 then call AnalysisEngine.process(CAS) for each CAS that you want to process.
 
 This version of this method also takes a ProcessTrace object as a parameter. This
 allows trace events to be written to an existing ProcessTrace rather than a new
 one.
process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaCAS - the CAS containing the inputs to the processing. Analysis results will also be written
          to this CAS.aResultSpec - a list of outputs that this AnalysisEngine should produce.aTrace - the object to which trace events will be recordedResultNotSupportedException - if this AnalysisEngine is not capable of producing the results requested in
           aResultSpec.AnalysisEngineProcessException - if a failure occurs during processing.AnalysisEngine.process(org.apache.uima.cas.CAS,
      org.apache.uima.analysis_engine.ResultSpecification, org.apache.uima.util.ProcessTrace)public CasIterator processAndOutputNewCASes(CAS aCAS) throws AnalysisEngineProcessException
AnalysisEngineCasIterator interface to step through the output CASes.
 
 If this Analysis Engine does not produce output CASes, then the CasIterator will
 return no elements. You can check if an AnalysisEngine is capable of producing output CASes by
 checking the
 OperationalProperties.getOutputsNewCASes()
 operational property
 (getAnalysisEngineMetaData().getOperationalProperties().getOutputsNewCASes()).
 
 Once this method is called, the AnalysisEngine "owns" aCAS until such time as the
 CasIterator.hasNext() method returns false. That is, the caller should not attempt to
 modify or access the input CAS until it has read all of the elements from the CasIterator. If
 the caller wants to abort the processing before having read all of the output CASes, it may
 call CasIterator.release(), which will stop further processing from occurring, and
 ownership of aCAS will revert to the caller.
processAndOutputNewCASes in interface AnalysisEngineprocessAndOutputNewCASes in class AnalysisEngineImplBaseaCAS - the CAS to be processedAnalysisEngineProcessException - if a failure occurs during processingpublic ProcessTrace process(CAS aCAS) throws AnalysisEngineProcessException
AnalysisEngineCapability specification.)
 
 This version of process does not take a ResultSpecification parameter. You
 may specify a ResultSpecification by calling
 AnalysisEngine.setResultSpecification(ResultSpecification) prior to calling this method.
process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaCAS - the CAS containing the inputs to the processing. Analysis results will also be written
          to this CAS.AnalysisEngineProcessException - if a failure occurs during processing.public ProcessTrace process(JCas aJCas) throws AnalysisEngineProcessException
AnalysisEngineAnalysisEngine.process(CAS) but uses the Java-object-based JCas interface instead
 of the general CAS interface.process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaJCas - the JCas containing the inputs to the processing. Analysis results will also be
          written to this JCas.AnalysisEngineProcessException - if a failure occurs during processing.AnalysisEngine.process(org.apache.uima.jcas.JCas)public ProcessTrace process(JCas aJCas, ResultSpecification aResultSpec) throws ResultNotSupportedException, AnalysisEngineProcessException
AnalysisEngineAnalysisEngine.process(CAS,ResultSpecification) but uses the Java-object-based
 JCas interface instead of the general CAS interface.
 
 This version of the process method takes a ResultSpecification as an
 argument. The ResultSpecification is a list of output types and features that the
 application wants this AnalysisEngine to produce. If you are going to use the same
 ResultSpecification for multiple calls to process, it is not recommended
 to use this method. Instead call AnalysisEngine.setResultSpecification(ResultSpecification) once and
 then call AnalysisEngine.process(JCas) for each CAS that you want to process.
process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaJCas - the JCas containing the inputs to the processing. Analysis results will also be
          written to this JCas.aResultSpec - a list of outputs that this AnalysisEngine should produce.ResultNotSupportedException - if this AnalysisEngine is not capable of producing the results requested in
           aResultSpec.AnalysisEngineProcessException - if a failure occurs during processing.AnalysisEngine.process(org.apache.uima.jcas.JCas,
      org.apache.uima.analysis_engine.ResultSpecification)public void process(JCas aJCas, ResultSpecification aResultSpec, ProcessTrace aTrace) throws ResultNotSupportedException, AnalysisEngineProcessException
AnalysisEngineAnalysisEngine.process(CAS, ResultSpecification, ProcessTrace) but uses the
 Java-object-based JCas interface instead of the general CAS interface.
 
 This version of the process method takes a ResultSpecification as an
 argument. The ResultSpecification is a list of output types and features that the
 application wants this AnalysisEngine to produce. If you are going to use the same
 ResultSpecification for multiple calls to process, it is not recommended
 to use this method. Instead call AnalysisEngine.setResultSpecification(ResultSpecification) once and
 then call AnalysisEngine.process(JCas) for each CAS that you want to process.
 
 This version of this method also takes a ProcessTrace object as a parameter. This
 allows trace events to be written to an existing ProcessTrace rather than a new
 one.
process in interface AnalysisEngineprocess in class AnalysisEngineImplBaseaJCas - the JCas containing the inputs to the processing. Analysis results will also be
          written to this JCas.aResultSpec - a list of outputs that this AnalysisEngine should produce.aTrace - the object to which trace events will be recordedResultNotSupportedException - if this AnalysisEngine is not capable of producing the results requested in
           aResultSpec.AnalysisEngineProcessException - if a failure occurs during processing.AnalysisEngine.process(org.apache.uima.jcas.JCas,
      org.apache.uima.analysis_engine.ResultSpecification, org.apache.uima.util.ProcessTrace)public JCasIterator processAndOutputNewCASes(JCas aJCas) throws AnalysisEngineProcessException
AnalysisEngineImplBaseprocessAndOutputNewCASes in interface AnalysisEngineprocessAndOutputNewCASes in class AnalysisEngineImplBaseaJCas - the JCAS to be processedAnalysisEngineProcessException - if a failure occurs during processingpublic void setResultSpecification(ResultSpecification aResultSpec)
AnalysisEnginesetResultSpecification in interface AnalysisEnginesetResultSpecification in class AnalysisEngineImplBaseaResultSpec - specifies the list of output types and features that the application is interested in.public void reconfigure()
                 throws ResourceConfigurationException
ConfigurableResourcereconfigure in interface AnalysisEnginereconfigure in interface ConfigurableResourcereconfigure in class ConfigurableResource_ImplBaseResourceConfigurationException - if the configuration is not validConfigurableResource.reconfigure()public void destroy()
ResourceResource.destroy in interface Resourcedestroy in class Resource_ImplBaseResource.destroy()public void setLogger(Logger aLogger)
Resource_ImplBasesetLogger in interface AnalysisEnginesetLogger in interface ResourcesetLogger in class Resource_ImplBaseaLogger - the logger for this Resource to useAnalysisEngine.setLogger(org.apache.uima.util.Logger)public void batchProcessComplete()
                          throws AnalysisEngineProcessException
AnalysisEnginebatchProcessComplete in interface AnalysisEnginebatchProcessComplete in class AnalysisEngineImplBaseAnalysisEngineProcessException - if an exception occurs during processingpublic void collectionProcessComplete()
                               throws AnalysisEngineProcessException
AnalysisEngine
 If this AnalysisEngine is an aggregate, this method will call the collectionProcessComplete
 method of all components of that aggregate. If the aggregate descriptor declares a
 fixedFlow or capabilityLanguageFlow, then the components'
 collectionProcessComplete methods will be called in the order specified by that flow element.
 Once all components in the flow have been called, any components not declared in the flow will
 be called, in arbitrary order. If there is no fixedFlow or
 capabilityLanguageFlow, then all components in the aggregate will be called in
 arbitrary order.
collectionProcessComplete in interface AnalysisEnginecollectionProcessComplete in class AnalysisEngineImplBaseAnalysisEngineProcessException - if an exception occurs during processingprotected org.apache.uima.internal.util.AnalysisEnginePool getPool()
protected int getTimeout()
Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.