You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Spico Florin <sp...@gmail.com> on 2011/11/18 15:17:55 UTC

How to create an annotator that should reload its resources at runtime (without restarting the pipeline)?

Hello!
I'm using UIMA ConceptMapper Annotator. Due to the fact that its dictionary
can be changed outside the UIMA pipeline(we have this scenario),
I would like to reload the content of used dictionary without restarting
the whole pipeline. The pipeline is deployed on the UIMA AS.
Here is my solution for the described use case:
1. I order to reload the dictionary, I have extended the provided
ConceptMapper
2. I've connected it to the ActiveMQ message broker (by making this
annotator to listen to a topic).
3. When a message is consumed by  MyAnnotator, the dictionary is reloaded.
Given the above scenario, I would like to point out the following:
 1. Is this approach correct? Meaning, is correct (concerning the UIMA
framework) to connect from an annotator a connection to the MessageBroker?
  My concern is, that since the Annotator itfel will be wrapped into a
Agreggate that is listening a queue, we will have two connections to the
  ActiveMQ (one from the warpper and one from the annotator).
  2. What is the best practice to deal with this kind of scenario? Any
suggestions is welcomed here.

  I look forward for your answers.
Thank you.

Kind regards,
  Florin

Re: How to create an annotator that should reload its resources at runtime (without restarting the pipeline)?

Posted by Jörn Kottmann <ko...@gmail.com>.
On 11/18/11 3:17 PM, Spico Florin wrote:
> I'm using UIMA ConceptMapper Annotator. Due to the fact that its dictionary
> can be changed outside the UIMA pipeline(we have this scenario),
> I would like to reload the content of used dictionary without restarting
> the whole pipeline. The pipeline is deployed on the UIMA AS.

I have the same issue with the OpenNLP Analysis Engines the statistical 
models
are updated quite often and the updated models should be used by my analysis
pipelines.

All models are hosted on a http server, and for now I just added some 
code to my
AEs which check if there is a new model, if there is a new model it will 
be loaded in a second
thread and replaces the currently used model.

I would appreciate if the framework could do this for me as well.

Jörn