Return-Path: Delivered-To: apmail-uima-user-archive@www.apache.org Received: (qmail 68970 invoked from network); 12 Oct 2010 13:16:15 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 12 Oct 2010 13:16:15 -0000 Received: (qmail 74813 invoked by uid 500); 12 Oct 2010 13:16:15 -0000 Delivered-To: apmail-uima-user-archive@uima.apache.org Received: (qmail 74754 invoked by uid 500); 12 Oct 2010 13:16:13 -0000 Mailing-List: contact user-help@uima.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@uima.apache.org Delivered-To: mailing list user@uima.apache.org Received: (qmail 74746 invoked by uid 99); 12 Oct 2010 13:16:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Oct 2010 13:16:12 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of uimaee@gmail.com designates 209.85.210.47 as permitted sender) Received: from [209.85.210.47] (HELO mail-pz0-f47.google.com) (209.85.210.47) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Oct 2010 13:16:07 +0000 Received: by pzk28 with SMTP id 28so430391pzk.6 for ; Tue, 12 Oct 2010 06:15:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=KAc/7JZmv8I0kY0to+X8H89Z6yAqSDl+GXce/x+vL5s=; b=DrYPk8Nf+udYsEqhQZqPuTM5LYljrDsP+MPMZxmvDRhdJ4pjPZGgub+J1H3MAj253/ wHfCxowTEcHOJgk3DQO7TcwtMwNrEVe1uQGuzvcSgsxDs1Zkr4vH+KZz7AHdTrkzQwTf lRUtnDmIBB013Rr3o5u4C9SAmNO+e2VU+t5dM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=nRvO8GJr9d+7woQQa4m10orBzG1MMMVLVML3Qxd/7yXRjrsHYBON+lxvaGPQupePBp 01VTtQGKk/bn1b7n67mqjbzOiRQ7QpPHOcLTeTtmME0w7zLmvY5SlSCHG3pzwUFvRf60 pD5/8xPJPP0SzYsYQa1Ejj8W571GVAb55fkuM= MIME-Version: 1.0 Received: by 10.114.107.14 with SMTP id f14mr8484375wac.174.1286889346396; Tue, 12 Oct 2010 06:15:46 -0700 (PDT) Received: by 10.220.172.131 with HTTP; Tue, 12 Oct 2010 06:15:46 -0700 (PDT) In-Reply-To: <4CB403BB.2080403@tetracom.com> References: <4CB403BB.2080403@tetracom.com> Date: Tue, 12 Oct 2010 09:15:46 -0400 Message-ID: Subject: Re: UIMA AS - CAS consumer patterns From: Jaroslaw Cwiklik To: user@uima.apache.org Content-Type: multipart/alternative; boundary=00163646c7b85b727504926b4614 --00163646c7b85b727504926b4614 Content-Type: text/plain; charset=ISO-8859-1 Uima AS service always replies to a client that sent the request. A request messages contains a temp reply queue where the service must return a reply. From the client perspective it is always Request-Reply pattern. The framework provides no support for overriding this behavior. If you need to forward a reply to a different queue, you need to add custom jms code to the application client and call it whenever you receive a reply from a service. Jerry C On Tue, Oct 12, 2010 at 2:44 AM, Diman Karagiozov wrote: > Hi there, > > I am working on a project that utilizes UIMA Async Scale-out capabilities. > > There are two client applications that send messages in an "input.queue" > and several UIMA aggregate engines that fetch messages from this input > queue. What I want to achieve is to send the annotated serialized CAS to an > "output.queue" depending on the client application that sent the initial > message. In other words - if the message comes from "client A", after > processing send it to "output.queue.A"; if it comes from "client B", send it > "output.queue.B". > > This is how I am sending the message to an UIMA worker: > > final UimaAsynchronousEngine client = ...; > > final CAS cas = client.getCAS(); > cas.reset(); > > cas.setDocumentLanguage( lang ); > cas.setDocumentText( StringUtils.stripNonValidXMLCharacters( > text ) ); > > final String id = client.sendCAS( cas ); > > Somehow, I have to set the client ID but I do not want to add it in the CAS > as annotation. Is there another way to add such information that is later > available in the process methods of the primitive engines? If this is > possible I can create a new primitive engine (Finalizer) that reads the > client ID and implements the messaging router functionality. > > Are there other pasterns that are more suitable for implementing the > above-described scenario? > > thanks > Diman > --00163646c7b85b727504926b4614--