analyzing more deep the issue, I have observed that after restart the broker, the first uima-as client that is consumed (no matter which), has a correct behavior, the instruccion to uima-as client "BaseUIMAAsynchronousEngine_impl.connectionOpen()" return "false" and correctly initializes the client again and process the request.
All next uima-as client to consume returns "true" to the instruccion "BaseUIMAAsynchronousEngine_impl.connectionOpen()" and them get the error: jul 11, 2017 8:11:52 AM org.apache.uima.adapter.jms.client.ActiveMQMessageSender createSession INFORMACIÓN: UIMA AS Client Failed Creating Session To Destination: XCharsetDetector Managed By Broker: tcp://nelson-XPS-8700:61616 jul 11, 2017 8:11:52 AM org.apache.uima.adapter.jms.client.ActiveMQMessageSender createSession INFORMACIÓN: UIMA AS Client Connection To Destination: XCharsetDetector Managed By Broker: tcp://nelson-XPS-8700:61616 Is Closed jul 11, 2017 8:11:52 AM org.apache.uima.adapter.jms.client.ActiveMQMessageSender run ADVERTENCIA: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1459) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1446) at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:328) at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.createSession(ActiveMQMessageSender.java:108) at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.initializeProducer(ActiveMQMessageSender.java:143) at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.createTextMessage(ActiveMQMessageSender.java:191) at org.apache.uima.adapter.jms.client.BaseMessageSender.run(BaseMessageSender.java:330) at java.lang.Thread.run(Thread.java:748) 2017-07-11 8:50 GMT-04:00, nelson rivera <nelsonriver...@gmail.com>: > My client application not receive any exception in any time. I use > both, in some uima-as client use sendAndReceive() and in others use > send(), each uima-as client has try-catch and none of them receive a > exception, the following lines are printed in the console output,but > the uima-as client is not notified and keeps waiting. > > 2017-07-10 16:48 GMT-04:00, Jaroslaw Cwiklik <uim...@gmail.com>: >> it looks like the UIMA-AS client is setup to throw an exception back to >> the >> application in this case. Did your application receive an exception? Are >> you using sendAndReceive() or send()? The UIMA-AS client rejects requests >> while a connection is down. >> >> Jerry >> >> On Mon, Jul 10, 2017 at 4:19 PM, Jaroslaw Cwiklik <cwik...@apache.org> >> wrote: >> >>> Hmm, this is a different exception from Session closed. This time it is >>> a >>> Connection is closed. Seems like a race condition. How many UIMA-AS >>> clients >>> do you have running in this process? >>> >>> Jerry >>> >>> On Mon, Jul 10, 2017 at 3:51 PM, nelson rivera >>> <nelsonriver...@gmail.com> >>> wrote: >>> >>>> i just tested the snapshot build from >>>> https://svn.apache.org/repos/asf/uima/uima-as/trunk, and the behavior >>>> still are similar for many uima-as client, end in a exception, but now >>>> show this stacktrace: >>>> >>>> org.apache.activemq.ConnectionClosedException: The connection is >>>> already >>>> closed >>>> at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQC >>>> onnection.java:1459) >>>> at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(A >>>> ctiveMQConnection.java:1446) >>>> at org.apache.activemq.ActiveMQConnection.createSession(ActiveM >>>> QConnection.java:328) >>>> at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.cre >>>> ateSession(ActiveMQMessageSender.java:108) >>>> at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.ini >>>> tializeProducer(ActiveMQMessageSender.java:143) >>>> at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.cre >>>> ateTextMessage(ActiveMQMessageSender.java:191) >>>> at org.apache.uima.adapter.jms.client.BaseMessageSender.run(Bas >>>> eMessageSender.java:330) >>>> at java.lang.Thread.run(Thread.java:748) >>>> >>>> 2017-07-07 15:33 GMT-04:00, nelson rivera <nelsonriver...@gmail.com>: >>>> > Sorry for the delay, i am building the framework from the source at >>>> > https://svn.apache.org/repos/asf/uima/uima-as/trunk, when test the >>>> > issue, i will comment the result. >>>> > >>>> > 2017-07-06 10:04 GMT-04:00, Jaroslaw Cwiklik <cwik...@apache.org>: >>>> >> Hello, the snapshot binaries (zip + tar) are here: >>>> >> >>>> >> https://repository.apache.org/content/repositories/snapshots >>>> /org/apache/uima/uima-as/2.9.1-SNAPSHOT/ >>>> >> >>>> >> Jerry >>>> >> >>>> >> On Thu, Jul 6, 2017 at 8:51 AM, Jaroslaw Cwiklik >>>> >> <cwik...@apache.org> >>>> >> wrote: >>>> >> >>>> >>> Hi, instructions how to build from source are here: >>>> >>> https://uima.apache.org/building-uima.html >>>> >>> >>>> >>> It's a bit involved process so I will try to post a snapshot of >>>> uima-as >>>> >>> to >>>> >>> Apache snapshot repository and will provide you with a link later >>>> today. >>>> >>> >>>> >>> Jerry >>>> >>> >>>> >>> On Wed, Jul 5, 2017 at 4:32 PM, nelson rivera < >>>> nelsonriver...@gmail.com> >>>> >>> wrote: >>>> >>> >>>> >>>> Please can you give me the url to source code with the changes, to >>>> >>>> test. >>>> >>>> >>>> >>>> 2017-07-05 16:19 GMT-04:00, Jaroslaw Cwiklik <cwik...@apache.org>: >>>> >>>> > Just delivered a few changes to deal with a stale Session. Can >>>> >>>> > you >>>> >>>> > build >>>> >>>> > from source and test. >>>> >>>> > Jerry >>>> >>>> > >>>> >>>> > On Wed, Jul 5, 2017 at 2:21 PM, Jaroslaw Cwiklik < >>>> cwik...@apache.org> >>>> >>>> > wrote: >>>> >>>> > >>>> >>>> >> Thanks. Will check the code and work on a fix >>>> >>>> >> >>>> >>>> >> Jerry >>>> >>>> >> >>>> >>>> >> On Wed, Jul 5, 2017 at 2:10 PM, nelson rivera < >>>> >>>> nelsonriver...@gmail.com> >>>> >>>> >> wrote: >>>> >>>> >> >>>> >>>> >>> Here the stack trace for the error that asked me: >>>> >>>> >>> jul 05, 2017 2:08:50 PM >>>> >>>> >>> org.apache.uima.adapter.jms.client.ActiveMQMessageSender run >>>> >>>> >>> ADVERTENCIA: >>>> >>>> >>> javax.jms.IllegalStateException: The Session is closed >>>> >>>> >>> at org.apache.activemq.ActiveMQSe >>>> >>>> ssion.checkClosed(ActiveMQSess >>>> >>>> >>> ion.java:771) >>>> >>>> >>> at org.apache.activemq.ActiveMQSe >>>> >>>> ssion.configureMessage(ActiveM >>>> >>>> >>> QSession.java:759) >>>> >>>> >>> at org.apache.activemq.ActiveMQSe >>>> >>>> ssion.createTextMessage(Active >>>> >>>> >>> MQSession.java:440) >>>> >>>> >>> at org.apache.uima.adapter.jms.cl >>>> >>>> ient.ActiveMQMessageSender.cre >>>> >>>> >>> ateTextMessage(ActiveMQMessageSender.java:184) >>>> >>>> >>> at org.apache.uima.adapter.jms.cl >>>> >>>> ient.BaseMessageSender.run(Bas >>>> >>>> >>> eMessageSender.java:307) >>>> >>>> >>> at java.lang.Thread.run(Thread.java:748) >>>> >>>> >>> >>>> >>>> >>> 2017-07-05 12:16 GMT-04:00, nelson rivera >>>> >>>> >>> <nelsonriver...@gmail.com>: >>>> >>>> >>> > This behavior is random, not occurs always. In the most of >>>> >>>> >>> > the >>>> >>>> simple >>>> >>>> >>> > programs and simple test case tested, after restart the >>>> >>>> >>> > UIMA-AS >>>> >>>> Broker >>>> >>>> >>> > without restart service uima-as, the instruccion to uima-as >>>> >>>> >>> > client >>>> >>>> >>> > "BaseUIMAAsynchronousEngine_impl.connectionOpen()" return >>>> "false" >>>> >>>> and >>>> >>>> >>> > correctly i initialize the client again. >>>> >>>> >>> > >>>> >>>> >>> > The incorrect behavior is most frequently with many uima-as >>>> >>>> >>> > client >>>> >>>> >>> > instances. Is the case of my general application in which i >>>> have >>>> >>>> many >>>> >>>> >>> > service uima-as, and for each one creates one instace of >>>> uima-as >>>> >>>> >>> > client (BaseUIMAAsynchronousEngine_impl) and keep it alive >>>> >>>> >>> > to >>>> >>>> process >>>> >>>> >>> > all requests of the service uima-as. >>>> >>>> >>> > >>>> >>>> >>> > Is in this scenario with many instancies of uima-as client >>>> >>>> >>> > (BaseUIMAAsynchronousEngine_impl) in the same program (a >>>> >>>> >>> > monolithic >>>> >>>> >>> > application web in tomcat) where after restart the UIMA-AS >>>> Broker >>>> >>>> >>> > without restart any service uima-as, many uima-as client >>>> returns >>>> >>>> >>> > "true" to the instruccion >>>> >>>> >>> > "BaseUIMAAsynchronousEngine_impl.connectionOpen()" but them >>>> throw >>>> >>>> >>> > "javax.jms.IllegalStateException: The Session is closed" >>>> >>>> >>> > when proces the request. >>>> >>>> >>> > >>>> >>>> >>> > 2017-07-04 16:13 GMT-04:00, nelson rivera >>>> >>>> >>> > <nelsonriver...@gmail.com >>>> >>>> >: >>>> >>>> >>> >> One peculiarity is that, is a primitive annotator implented >>>> >>>> >>> >> in >>>> >>>> >>> >> c++, >>>> >>>> >>> >> but is deployed with de deployAsyncService.sh de uima-as >>>> >>>> >>> >> directly. >>>> >>>> >>> >> >>>> >>>> >>> >> 2017-07-04 14:53 GMT-04:00, nelson rivera < >>>> >>>> nelsonriver...@gmail.com>: >>>> >>>> >>> >>> In my program main, i initialize a uimas-as client only >>>> >>>> >>> >>> once >>>> >>>> >>> >>> and >>>> >>>> >>> >>> I >>>> >>>> >>> >>> use >>>> >>>> >>> >>> this client to consume all requests to a displayed service >>>> >>>> uima-as. >>>> >>>> >>> >>> >>>> >>>> >>> >>> Before process a request i ask to uima-as client with: >>>> >>>> >>> >>> BaseUIMAAsynchronousEngine_impl.connectionOpen() >>>> >>>> >>> >>> and if the result es "false", i stop the uima-as client >>>> >>>> >>> >>> and >>>> >>>> >>> >>> initialize >>>> >>>> >>> >>> it >>>> >>>> >>> >>> again. >>>> >>>> >>> >>> >>>> >>>> >>> >>> With some steps, still undefined, but after restart the >>>> UIMA-AS >>>> >>>> >>> >>> Broker >>>> >>>> >>> >>> without restart service uima-as. >>>> >>>> >>> >>> The instruccion to uima-as client >>>> >>>> >>> >>> BaseUIMAAsynchronousEngine_impl.connectionOpen() return >>>> "true", >>>> >>>> but >>>> >>>> >>> >>> them i get a "javax.jms.IllegalStateException: The Session >>>> is >>>> >>>> >>> >>> closed" >>>> >>>> >>> >>> when proces the request. >>>> >>>> >>> >>> >>>> >>>> >>> >>> Wich is the best way to know when connections betewen >>>> >>>> >>> >>> cliente >>>> >>>> >>> >>> uima-as >>>> >>>> >>> >>> and ActiveMQ is broken? and i should restart uima-as >>>> >>>> >>> >>> client. >>>> >>>> >>> >>> >>>> >>>> >>> >> >>>> >>>> >>> > >>>> >>>> >>> >>>> >>>> >> >>>> >>>> >> >>>> >>>> > >>>> >>>> >>>> >>> >>>> >>> >>>> >> >>>> > >>>> >>> >>> >> >