Hi Jerry, thanks!
When upgrading to 2.4.2 we observed some issues, which lead to a more general question. I suppose those problems are related to the way we deploy our endpoints. We wrote wrappers for both, the AMQ broker and UIMA AS endpints (RemoteAsyncAE_API), allowing us to run them within a (Tomcat) container. This way we distribute several AS endpoint by deploying them across multiple containers. The AMQ Broker, encapsulated within a war file, is being deployed in a container as well. This was needed for an IT environment, in which we are only allowed to deploy within containers without starting dedicated JVMs for each endpoint. Generally, this works quite well. But it seems that undeployment of those components, induced by shutting down their container, may result in scattered 'hangig' threads (both, on consumer and producer side). Is UIMA AS principally designed for being deployed within containers? Or do you think we will face further issues following this approach? I am aksing since in the recent AS sources we found occurrences of System.exit(), which is quite fatefull when running within a shared JVM ;) Thanks and all the best Frank Am 12.06.2014 16:09, schrieb Jaroslaw Cwiklik: > 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 >> > -- Averbis GmbH Tennenbacher Straße 11 D-79106 Freiburg Fon: +49 (0) 761 - 203 976 92 Fax: +49 (0) 761 - 203 976 94 E-Mail: frank.end...@averbis.com Geschäftsführer: Dr. med. Philipp Daumke, Dr. Kornél Markó Sitz der Gesellschaft: Freiburg i. Br. AG Freiburg i. Br., HRB 701080