Is your question about accessing a remote delegate service that is not
UIMA-AS based?
The aggregate needs broker URL and endpoint (queue) name to communicate
with a remote service. The aggregate manages reply queues for remotes and
there is no way to override it.
-jerry
On Thu, Feb 23, 2017 at 9:03 AM, Dibyojyoti Sanyal <dibyojyoticemk@gmail.com
> wrote:
> Hello,
>
> We are working in a project where we want to provide cross platform NLP
> text processing with UIMA-AS processing. So our goal is to generate a
> Delegate and add it to the delegates generated by UIMA-AS. UIMA-AS
> generates services and the services endpoint names (or destinations) can be
> provided to a UIMA-AS aggregate pipeline to generate a combination of
> services. The services are the delegates which are used by the aggregate.
>
> Now our approach is to provide a new destinations name( which is not
> generated by any of the UIMA-AS services but by some other JAVA or non JAVA
> cross platform program) along with other UIMA-AS generated endpoits which
> are generated by few UIMA-AS services ,and build an aggregate combining
> them. In the aggregate the UIMA-AS generated services will work as
> delegates and the non UIMA-AS generated endpoint should also work for
> another delegate which is not a UIMA-AS generated service.
>
> As the documentation[1
> <https://uima.apache.org/d/uima-as-2.8.1/uima_async_
> scaleout.html#ugr.async.ov.concepts.jms_descriptor>]
> says the endpoints are the input queues generated when the UIMA-AS
> services are generated. The input queue name user can specify. But, for
> each input queue there is a reply queue created by the aggregate ,this
> reply queue is a temporary queue and it is mentioned in the header of a CAS
> message sent from aggregate to delegate, the delegate replies to the reply
> queue.
>
> So We are interested to know,
> 1. How we can generate a temporary reply queue and tell the UIMA-AS
> aggregate to use it corresponding the input queue that is not generated by
> the UIMA-AS service but by other means?
> 2. How the UIMA-AS generated delegate replies to a reply queue
> (specifically the code)?
> 3. Is UIMA-AS is flexible enough so that we can provide a delegate which is
> not generated by UIMA-AS but still can be combined with other UIMA-AS
> delegates so that it can work seemlessly with others and can be used in a
> UIMA-AS aggregate?
>
> We have subscribe to an input queue and receive a CAS message, they we
> tried to send reply to the reply queue which is mentioned in the 'reply-to'
> field of the header but it did not work. The program we are using for this
> is a python client which is connected to the UIMA-AS broker using stomp
> protocol.Code is given below.
>
> def main():
> conn = stomp.Connection()
> conn.set_listener('MyListener', MyListener())
> conn.start()
> conn.connect()
> conn.subscribe('OpenNlpSegmenter_Service',1,'auto')
>
> while True:
> time.sleep(10);
>
> class MyListener(stomp.ConnectionListener):
> def on_connected(self,headers, message):
> print('connected "%s"' % message)
> def on_connecting(self,host_and_port):
> print("connecting to: ",host_and_port)
> def on_error(self, headers, message):
> print('received an error "%s"' % message)
> def on_message(self, headers, message):
> print('received headers "%s"' % headers)
> print('received a message "%s"' % message)
> print("trying to connect to reply queue")
> conn = stomp.Connection()
> conn.start()
> conn.connect()
> conn.send(headers['reply-to'],message,headers=headers)
> conn.disconnect()
>
>
> The header of a message is is looks like below:
>
> {'*destination*': '/queue/LanguageToolLemmatizer_Service',
>
> 'priority': '4',
>
> 'ServerURI': 'tcp://localhost:61616',
>
> 'subscription': '1',
>
> 'timestamp': '1487698370963',
>
> '*reply-to*': '/remote-temp-queue/ID:Dibyo-PC-54740-1487698146395-1:3:1',
>
> 'AcceptsDeltaCas': 'true',
>
> '*MessageFrom*':
> 'rmtRtrnQ_DemoAnnotatorQueue_1_LanguageToolLemmatizer_
> Service_192.168.16.13f7a252:15a61b82f1a:-8000',
>
>
> 'message-id': 'ID:Dibyo-PC-54740-1487698146395-3:1:3:1:3',
>
> 'Payload': '1000',
>
> 'MessageType': '3000',
>
> 'expires': '0',
>
> 'Command': '2000',
> 'CasReference': '543544b:15a61bb7001:-7ff8'
> }
>
> 1.
> https://uima.apache.org/d/uima-as-2.8.1/uima_async_
> scaleout.html#ugr.async.ov.concepts.jms_descriptor
>
> Your help is highly appreciated.
>
> Thanks & Regards,
> Dibyojyoti Sanyal
> Student TU Darmstadt MDSS
> *Linked in <https://de.linkedin.com/in/dibyojyotisanyal>*
>