You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by GATE User <ga...@ymail.com> on 2013/05/20 22:56:00 UTC

Aggregate Delegates and Remote Services

I've created two primative AEs and tested them locally on my machine.  I then created a aggregate AE that calls each of the primitive AEs.  The aggregate AE was created using the Component Descriptor Editor plugin for eclipse and things went smoothly until I got to adding the Aggregate Delegates.  I clicked on remote, but I' then prompted to select either the SOAP or Vinci protocol.  The two primatives have been deployed and are running on a test AS system (2.4.1).  Which protocol should I be using, if either?

Since I wasn't sure which protocol to use, I made a copy of the AE descriptors for each of the primatives and added those using the "Add..." button.  Then, in the deployment descriptor for the aggregate AE, I set the delegates to run remotely and gave it the address of the broker and the queue name.  After creating the pear and deploying it, the aggregate AE deploys fine, but errors pop up when we try to run it.  The errors are:

      *** ERROR: line-number: 13 deployment descriptor for analysisEngine:  specifies async="true" but the analysis engine is a primitive

      *** ERROR: line-number: 13 deployment descriptor for analysisEngine:  specifies false for the async attribute, but contains a delegates element, which is not allowed in this case.

If the async="true" is removed, we get the following error:

      *** ERROR: line-number: 16 The delegate in the deployment descriptor with key="MgrsRegExQueue" does not match any delegates in the referenced descriptor

      *** ERROR: line-number: 25 The delegate in the deployment descriptor with key="MgrsValidatingAnnotatorQueue" does not match any delegates in the referenced descriptor

I've compared the deployment descriptor to the example one, and nothing is jumping out at me as wrong.  Is this a problem with the deployment descriptor or AE descriptor?  Thanks in advance.

Re: Aggregate Delegates and Remote Services

Posted by Eddie Epstein <ea...@gmail.com>.
> If I am understand this correctly, I would add the custom resource
> specifier under the resource manager configuration of the aggregate AE
> descriptor.  If that is the case, I would then make an annotator that would
> get that resource, build a cas, call the resource, wait for a response,
> etc...  However, unlike te other kind of resources, the JMS service
> descriptor doesn't have a key.  How do I call
> getContext().getResourceObject() to get it?  Of is this custom resource
> descriptor a seperate xml file that I then load into the aggregate AE
> descriptor somewhere?
>

No, sorry for confusion. These JMS service descriptors are used as delegate
descriptors in an aggregate.

Eddie

Re: Aggregate Delegates and Remote Services

Posted by GATE User <ga...@ymail.com>.
Hello Eddie:


If I am understand this correctly, I would add the custom resource specifier under the resource manager configuration of the aggregate AE descriptor.  If that is the case, I would then make an annotator that would get that resource, build a cas, call the resource, wait for a response, etc...  However, unlike te other kind of resources, the JMS service descriptor doesn't have a key.  How do I call getContext().getResourceObject() to get it?  Of is this custom resource descriptor a seperate xml file that I then load into the aggregate AE descriptor somewhere?

Additionally, thanks for the heads up about AS and PEARs. The problem was encountered previously and the the unreleased changes were obtained and compiled.  I've successfully deployed primative pears and aggregate pears with the delegates running in the same VM.

Thanks in advance.



________________________________
 From: Eddie Epstein <ea...@gmail.com>
To: user@uima.apache.org; GATE User <ga...@ymail.com> 
Sent: Monday, May 20, 2013 6:54 PM
Subject: Re: Aggregate Delegates and Remote Services
 

The CDE does not support adding the JMS service descriptor as a "remote",
only by editing the source directly. An example JMS service descriptor is
at
http://uima.apache.org/d/uima-as-2.4.0/uima_async_scaleout.html#ugr.async.ov.concepts.jms_descriptor
.

The aggregate could then be deployed with async=false. This can be useful
if the aggregate is to be replicated in the service, i.e. multiple
instances each deployed in a
 separate thread.

A JMS descriptor is not needed if the aggregate is deployed with
async=true. Note that a remote delegate is itself always a primitive, so
async=false for it.

The ability of UIMA-AS to directly support pear file descriptors was only
just added in the last month. If the pear is unpacked and the normal
aggregate descriptor is being used then we need more data. Including the
aggregate and deployment descriptors here would help.

Eddie




On Mon, May 20, 2013 at 4:56 PM, GATE User <ga...@ymail.com> wrote:

> I've created two primative AEs and tested them locally on my machine.  I
> then created a aggregate AE that calls each of the primitive AEs.  The
> aggregate AE was created using the Component Descriptor Editor plugin for
> eclipse and things went smoothly until I got
 to adding the Aggregate
> Delegates.  I clicked on remote, but I' then prompted to select either the
> SOAP or Vinci protocol.  The two primatives have been deployed and are
> running on a test AS system (2.4.1).  Which protocol should I be using, if
> either?
>
> Since I wasn't sure which protocol to use, I made a copy of the AE
> descriptors for each of the primatives and added those using the "Add..."
> button.  Then, in the deployment descriptor for the aggregate AE, I set the
> delegates to run remotely and gave it the address of the broker and the
> queue name.  After creating the pear and deploying it, the aggregate AE
> deploys fine, but errors pop up when we try to run it.  The errors are:
>
>       *** ERROR: line-number: 13 deployment descriptor for
> analysisEngine:  specifies async="true" but the analysis
 engine is a
> primitive
>
>       *** ERROR: line-number: 13 deployment descriptor for
> analysisEngine:  specifies false for the async attribute, but contains a
> delegates element, which is not allowed in this case.
>
> If the async="true" is removed, we get the following error:
>
>       *** ERROR: line-number: 16 The delegate in the deployment descriptor
> with key="MgrsRegExQueue" does not match any delegates in the referenced
> descriptor
>
>       *** ERROR: line-number: 25 The delegate in the deployment descriptor
> with key="MgrsValidatingAnnotatorQueue" does not match any delegates in the
> referenced descriptor
>
> I've compared the deployment descriptor to the example one, and nothing is
> jumping out at me as wrong.  Is this a problem with the deployment
> descriptor or AE
 descriptor?  Thanks in advance.
>

Re: Aggregate Delegates and Remote Services

Posted by Eddie Epstein <ea...@gmail.com>.
The CDE does not support adding the JMS service descriptor as a "remote",
only by editing the source directly. An example JMS service descriptor is
at
http://uima.apache.org/d/uima-as-2.4.0/uima_async_scaleout.html#ugr.async.ov.concepts.jms_descriptor
.

The aggregate could then be deployed with async=false. This can be useful
if the aggregate is to be replicated in the service, i.e. multiple
instances each deployed in a separate thread.

A JMS descriptor is not needed if the aggregate is deployed with
async=true. Note that a remote delegate is itself always a primitive, so
async=false for it.

The ability of UIMA-AS to directly support pear file descriptors was only
just added in the last month. If the pear is unpacked and the normal
aggregate descriptor is being used then we need more data. Including the
aggregate and deployment descriptors here would help.

Eddie




On Mon, May 20, 2013 at 4:56 PM, GATE User <ga...@ymail.com> wrote:

> I've created two primative AEs and tested them locally on my machine.  I
> then created a aggregate AE that calls each of the primitive AEs.  The
> aggregate AE was created using the Component Descriptor Editor plugin for
> eclipse and things went smoothly until I got to adding the Aggregate
> Delegates.  I clicked on remote, but I' then prompted to select either the
> SOAP or Vinci protocol.  The two primatives have been deployed and are
> running on a test AS system (2.4.1).  Which protocol should I be using, if
> either?
>
> Since I wasn't sure which protocol to use, I made a copy of the AE
> descriptors for each of the primatives and added those using the "Add..."
> button.  Then, in the deployment descriptor for the aggregate AE, I set the
> delegates to run remotely and gave it the address of the broker and the
> queue name.  After creating the pear and deploying it, the aggregate AE
> deploys fine, but errors pop up when we try to run it.  The errors are:
>
>       *** ERROR: line-number: 13 deployment descriptor for
> analysisEngine:  specifies async="true" but the analysis engine is a
> primitive
>
>       *** ERROR: line-number: 13 deployment descriptor for
> analysisEngine:  specifies false for the async attribute, but contains a
> delegates element, which is not allowed in this case.
>
> If the async="true" is removed, we get the following error:
>
>       *** ERROR: line-number: 16 The delegate in the deployment descriptor
> with key="MgrsRegExQueue" does not match any delegates in the referenced
> descriptor
>
>       *** ERROR: line-number: 25 The delegate in the deployment descriptor
> with key="MgrsValidatingAnnotatorQueue" does not match any delegates in the
> referenced descriptor
>
> I've compared the deployment descriptor to the example one, and nothing is
> jumping out at me as wrong.  Is this a problem with the deployment
> descriptor or AE descriptor?  Thanks in advance.
>