All you need is a reference to a thread that called sendAndReceive(). Once you have it, just call <myThread>.interrupt().
I would still like to know more about the timer not working. Is there anything in the log that shows the UIMA-AS timer expiring? I just ran a test and the following is in the log: Jun 12, 2014 10:07:17 AM org.apache.uima.aae.delegate.Delegate$1 Delegate.TimerTask.run WARNING: Timeout While Waiting For Reply From Delegate:SlowNoOpAnnotatorQueue1 Process CAS Request Timed Out. Configured Reply Window Of 1,000. Cas Reference Id:-26e1fb2b:1469067657a:-7ff3 Jun 12, 2014 10:07:17 AM org.apache.uima.adapter.jms.client.ClientServiceDelegate handleError WARNING: Process Timeout - Uima AS Client Didn't Receive Process Reply Within Configured Window Of:1,000 millis Jun 12, 2014 10:07:17 AM org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngineCommon_impl notifyOnTimout WARNING: Request To Process Cas Has Timed-out. Service Queue:SlowNoOpAnnotatorQueue1. Broker: tcp://localhost.localdomain:61617 Cas Timed-out on host: 192.168.6.65 Jerry On Wed, Jun 11, 2014 at 6:30 PM, Frank Enders <frank.end...@averbis.com> wrote: > Hi Jerry, > > Am 10.06.2014 21:27, schrieb Jaroslaw Cwiklik: > > The 2.4.2 AS code also supports interrupts on a thread stuck in >> sendAndReceive(). You can implement your own >> timer if you like, and if it pops just interrupt the thread and try >> calling >> sendAndReceive() again. The subsequent call >> should block until a new connection is established. >> > > How would I do this? I don't find anything about this in the 2.4.2 docs. > > Thanks! > Frank >