|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface UimaAsynchronousEngine
A UimaAsynchronousEngine
enables an application to send CASes for analysis to remote
UIMA AS service. It provides a high level API and hides the detail of the transport
implementation. The UIMA AS Client implementation uses JMS as its transport mechanism. Both
synchronous and asynchronous processing is supported. For synchronous processing an application
should call sendAndReceiveCAS(CAS)
method. For asynchronous processing the application
should call sendCAS(CAS)
method. Additionally, processing with a client side
CollectionReader
is supported as well. The application first instantiates and
initializes the CollectionReader
and registers it via
setCollectionReader(CollectionReader)
method. Once the CollectionReader
is
registered, and initialize(Map)
method is called, the application may call
process()
method.
This API enables the application to dynamically deploy UIMA AS services that it intends to use
for processing. These services are deployed in a container and are collocated in the same JVM as
the application. The services are considered private and used exclusively by the application. To
deploy "private" services the application calls either deploy(String, Map)
deploy(String[], Map)
method, where the first parameter is either a single AS deployment
descriptor or an array thereof. The application must deploy its "private" services *before*
calling initialize(Map)
method.
The application may stop the UIMA AS client in the middle of processing by calling
stop()
method.
Listeners can register with the UimaAsynchronousEngine
by calling the
addStatusCallbackListener(UimaAsBaseCallbackListener)
method. These listeners receive
status callbacks during the processing. An exception to that is the synchronous processing via
sendAndReceiveCAS(CAS)
method. This method returns either a CAS containing results of
analysis or an exception. No callbacks are made while processing CASes synchronously.
An application may choose to implement parallelization of the processing, calling either
sendAndReceiveCAS(CAS)
or sendCAS(CAS)
methods from multiple threads.
Field Summary | |
---|---|
static java.lang.String |
ApplicationContext
Deprecated. |
static java.lang.String |
ApplicationName
Name of an application that uses Uima AS client. |
static java.lang.String |
CasPoolSize
Size of Cas pool to create. |
static java.lang.String |
CpcTimeout
Collection Processing Complete timeout. |
static java.lang.String |
DD2SpringXsltFilePath
Path to the XSLT processor to use when processing a deployment descriptor. |
static java.lang.String |
Endpoint
Name of a queue where the Uima AS client sends JMS requests. |
static java.lang.String |
GetMetaTimeout
GetMeta timeout. |
static java.lang.String |
ReplyWindow
Deprecated. |
static java.lang.String |
SaxonClasspath
Saxon classpath to use when processing a deployment descriptor. |
static java.lang.String |
SerializationStrategy
Type of serialization to use when serializing CASes to remote Uima AS service. |
static java.lang.String |
ServerUri
Broker URL the Uima AS client will use to communicate with Uima AS service. |
static java.lang.String |
ShadowCasPoolSize
Deprecated. |
static java.lang.String |
SharedConnection
Deprecated. |
static java.lang.String |
Timeout
CAS process timeout. |
static java.lang.String |
UimaEeDebug
Debug flag to use when processing a deployment descriptor. |
Method Summary | |
---|---|
void |
addStatusCallbackListener(UimaAsBaseCallbackListener aListener)
Registers application specific listener. |
void |
collectionProcessingComplete()
Sends a Collection Processing Complete (CPC) request to a UIMA AS Service and blocks waiting for a reply. |
java.lang.String |
deploy(java.lang.String[] aDeploymentDescriptorList,
java.util.Map anApplicationContext)
Deploys a single UIMA AS container and all services defined in provided deployment descriptors. |
java.lang.String |
deploy(java.lang.String aDeploymentDescriptor,
java.util.Map anApplicationContext)
Deploys a UIMA AS container and all services defined in provided deployment descriptor. |
org.apache.uima.cas.CAS |
getCAS()
Requests new CAS instance from a CAS pool. |
org.apache.uima.resource.metadata.ProcessingResourceMetaData |
getMetaData()
Returns a ProcessingResourceMetadata received from the UIMA AS Service. |
java.lang.String |
getPerformanceReport()
Not implemented |
java.lang.String |
getSerializationStrategy()
Returns serialization strategy for the remote service. |
void |
initialize(java.util.Map anApplicationContext)
Initializes UIMA asynchronous client using configuration parameters provided in a Map object. |
void |
process()
Initiates processing of a collection. |
void |
removeStatusCallbackListener(UimaAsBaseCallbackListener aListener)
Unregisters named application listener. |
java.lang.String |
sendAndReceiveCAS(org.apache.uima.cas.CAS aCAS)
This synchronous method sends a given CAS to a UIMA AS service and waits for response. |
java.lang.String |
sendCAS(org.apache.uima.cas.CAS aCAS)
Sends a given CAS for analysis to UIMA AS Service. |
void |
setCollectionReader(org.apache.uima.collection.CollectionReader aCollectionReader)
Registers a CollectionReader instance to process a Collection. |
void |
stop()
Stops the asynchronous client. |
void |
stopProducingCases()
Request Uima AS client to initiate sending Stop requests to a service for all outstanding CASes awaiting reply. |
void |
stopProducingCases(java.lang.String aCasReferenceId)
Request Uima AS client to initiate sending Stop request to a service for a given CAS id If the service is a Cas Multiplier, it will stop producing new CASes, will wait until all child CASes finish and finally returns the input CAS. |
void |
undeploy(java.lang.String aSpringContainerId)
Undeploys specified UIMA AS container and all services running within it. |
void |
undeploy(java.lang.String aSpringContainerId,
int stop_level)
Undeploys specified UIMA AS container and all services running within it. |
Field Detail |
---|
static final java.lang.String ApplicationContext
static final java.lang.String ApplicationName
initialize(Map)
.This name is used to register Uima AS
client MBean with JMX. To make the name unique, provided string is prepended to a UUID to form
static final java.lang.String ServerUri
initialize(Map)
. Required. If omitted, the
Uima AS client throws ResourceInitializationException
static final java.lang.String Endpoint
initialize(Map)
. Required. If omitted, the
Uima AS client throws ResourceInitializationException
static final java.lang.String CasPoolSize
initialize(Map)
. Optional.
If omitted, the Uima AS client will use 1 as a default.
static final java.lang.String ShadowCasPoolSize
static final java.lang.String ReplyWindow
static final java.lang.String Timeout
initialize(Map)
. Optional. If omitted, the
Uima AS client defaults to no timeout.
static final java.lang.String CpcTimeout
initialize(Map)
. Optional. If omitted,
the Uima AS client defaults to no timeout.
static final java.lang.String GetMetaTimeout
initialize(Map)
. Optional. If omitted,
the Uima AS client defaults to 60 seconds.
static final java.lang.String DD2SpringXsltFilePath
static final java.lang.String SaxonClasspath
static final java.lang.String UimaEeDebug
static final java.lang.String SerializationStrategy
initialize(Map)
static final java.lang.String SharedConnection
Method Detail |
---|
void initialize(java.util.Map anApplicationContext) throws org.apache.uima.resource.ResourceInitializationException
UimaASStatusCallbackListener.initializationComplete(EntityProcessStatus)
on the application listener.
anApplicationContext
- - configuration containing UIMA EE Service Broker URI, service queue name, timeout
value, reply window size, and CAS Pool size.
org.apache.uima.resource.ResourceInitializationException
void setCollectionReader(org.apache.uima.collection.CollectionReader aCollectionReader) throws org.apache.uima.resource.ResourceInitializationException
CollectionReader
instance to process a Collection. This method must be
called first, before calling process()
method.
aCollectionReader
- - instance of a CollectionReader
org.apache.uima.resource.ResourceInitializationException
void addStatusCallbackListener(UimaAsBaseCallbackListener aListener)
aListener
- - application listener object to addvoid removeStatusCallbackListener(UimaAsBaseCallbackListener aListener)
aListener
- - application listener to removevoid stop() throws java.lang.Exception
java.lang.Exception
java.lang.String getPerformanceReport()
void process() throws org.apache.uima.resource.ResourceProcessException
CollectionReader
is provided via
setCollectionReader(CollectionReader)
. This method blocks until the CollectionReader
finishes processing the entire collection. Status of the processing can be obtained by
registering a listener with the
addStatusCallbackListener(UimaAsBaseCallbackListener)
method.
The method is synchronized to allow processing of only one collection at a time. The
application must wait with processing another collection until it receives notification via a
listener
UimaASStatusCallbackListener.collectionProcessComplete(EntityProcessStatus aStatus)
org.apache.uima.resource.ResourceProcessException
- - if there is a problem processing the Collectionjava.lang.String sendCAS(org.apache.uima.cas.CAS aCAS) throws org.apache.uima.resource.ResourceProcessException
aCAS
- - a CAS to analyze.
org.apache.uima.resource.ResourceProcessException
org.apache.uima.cas.CAS getCAS() throws java.lang.Exception
java.lang.Exception
void collectionProcessingComplete() throws org.apache.uima.resource.ResourceProcessException
org.apache.uima.resource.ResourceProcessException
org.apache.uima.resource.metadata.ProcessingResourceMetaData getMetaData() throws org.apache.uima.resource.ResourceInitializationException
ProcessingResourceMetadata
received from the UIMA AS Service. The
metadata is obtained from the service during initialization.
returns - an ProcessingResourceMetadata received from an asynchronous Analysis Engine service,
or null if initialize() has not yet been called.
org.apache.uima.resource.ResourceInitializationException
java.lang.String sendAndReceiveCAS(org.apache.uima.cas.CAS aCAS) throws org.apache.uima.resource.ResourceProcessException
aCAS
- - a CAS to analyze.
org.apache.uima.resource.ResourceProcessException
java.lang.String deploy(java.lang.String aDeploymentDescriptor, java.util.Map anApplicationContext) throws java.lang.Exception
aDeploymentDescriptor
- - a deployment descriptor to deploy in a container.anApplicationContext
- - initialization parameters needed to configure the client and services
java.lang.Exception
- - if there was a problem deploying the container or UIMA AS services.java.lang.String deploy(java.lang.String[] aDeploymentDescriptorList, java.util.Map anApplicationContext) throws java.lang.Exception
aDeploymentDescriptorList
- - a list of deployment descriptors to deploy in a container.anApplicationContext
- - initialization parameters needed to configure the client and services
java.lang.Exception
- - if there was a problem deploying the container or UIMA AS services.void undeploy(java.lang.String aSpringContainerId) throws java.lang.Exception
aSpringContainerId
- - an id of the container to be destroyed.
java.lang.Exception
void undeploy(java.lang.String aSpringContainerId, int stop_level) throws java.lang.Exception
aSpringContainerId
- - an id of the container to be destroyed.
java.lang.Exception
java.lang.String getSerializationStrategy()
void stopProducingCases()
void stopProducingCases(java.lang.String aCasReferenceId)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |