uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Eckart de Castilho <...@apache.org>
Subject Re: Share database connections between annotators
Date Wed, 17 Sep 2014 10:57:42 GMT
You declare an external resource once in the descriptor and then
bind it to various engines.

All engines binding to the same external resource eventually talk to the
same external resource instance. If you use CPE this is also true for 
scaled-out instances.

It should be noted though, that external resources have no proper life-cycle.
In particular, they never get notified when the pipeline is over. You'd need
to find some way of notifying your DB pool that connections can be closed.

Cheers,

-- Richard

On 17.09.2014, at 12:20, James Baker <james.d.baker@gmail.com> wrote:

> Thanks Johannes,
> 
> I've not used External Resources before and the documentation seems to be
> fairly limited. How do I ensure the resource is shared across multiple
> annotators? Do I give it the same key, name and/or URI? Does it need to be
> declared separately and then referenced somehow?
> 
> James
> 
> On 17 September 2014 10:57, Johannes Darms <
> johannes.darms@scai.fraunhofer.de> wrote:
> 
>> Hey James,
>> 
>> I don't know if its the best way. I would implement a collection Pool as
>> an External Resources and pass these Resource to the different Annotators
>> in your AE.
>> 
>> Regards,
>> 
>> Johannes
>> 
>> [1]
>> https://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.externalresources
>> 
>> ----- Original Message -----
>> From: "James Baker" <james.d.baker@gmail.com>
>> To: user@uima.apache.org
>> Sent: Wednesday, September 17, 2014 11:33:58 AM
>> Subject: Share database connections between annotators
>> 
>> What is the best way of sharing a database connection (in my case, to
>> MongoDB) between annotators?
>> 
>> Currently, I instantiate a new database connection for each annotator, but
>> as my UIMA pipeline now has over 50 annotators (not all of which connect to
>> the database), I am ending up with a large number of database connections.
>> Ideally, I'd like to move to a single connection pool that can be shared by
>> the annotators. The Mongo driver supports connection pooling, but I'm
>> unsure how best to implement in UIMA.
>> 
>> Any advice would be appreciated.
>> 
>> Thanks,
>> James

Mime
View raw message