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>*