Spico, both of these: stopProducingCases() stopProducingCases(String casReferenceId);
were meant to stop remote UIMA-AS CM from producing child CASes. So the first question is, is your remote service (UIMA-AS pipeline) a CM? If it is, what is the behavior that you are seeing? A hang? If the remote service is not a CM, the above APIs will not work ( BUG). Each UIMA-AS CM service gets a unique queue which is used to receive notifications from the client. Non CM service does not create this queue and thus notifications to discard CASes are never sent. I will create JIRA to track this bug. It should be possible for the UIMA-AS client to request the service to stop processing a CAS no matter if its CM or not. Jerry C On Mon, Mar 18, 2013 at 10:42 AM, Spico Florin <spicoflo...@gmail.com>wrote: > Hello! > I have a consumer UIMA AS pipeline, and a CAS producer that is using > UimaAsynchronousEngine to send asynchronously CASes to UIMA. The code for > producing (producer pipeline) the CASes is: > UimaAsynchronousEngine uimaEEEngine; > > cas = uimaEEEngine.getCAS(); > if (cas != null) { > > jcas = cas.getJCas(); > jcas.setDocumentText(msg.get(MSG_ARTICLE_TEXT)); > > uimaEEEngine.sendCAS(jcas.getCas()); > } > > Code for stopping the producer: > if (uimaEEEngine != null) { > uimaEEEngine.stopProducingCases(); > uimaEEEngine.stop(); > } > > Question: > 1.When the user stops the producer, is there any possibility for UIMA AS > pipeline to discard the sent messages from the producer? > 2. If yes, what code (API) should I use? > > I look forward for your answers. > > Regards, > Florin >