Jerry Cwiklik created UIMA-3665:
-----------------------------------

             Summary: UIMA-AS JmsStub code not clearing static Map
                 Key: UIMA-3665
                 URL: https://issues.apache.org/jira/browse/UIMA-3665
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
    Affects Versions: 2.4.2AS
            Reporter: Jerry Cwiklik
            Assignee: Jerry Cwiklik
             Fix For: 2.5.0AS


The UIMA-AS JmsAnalysisEngineServiceStub contains a static Map which holds a 
reference to a shared UIMA-AS client instance. This shared client is used by 
all AE instances in the JVM.

This implementation causes the extended tests to fail. There are a number junit 
tests that test different scenarios where JmsAnalysisEngineServiceStub  is 
used. The first such test succeeds but subsequent ones fail with Exception 
"Uima EE Client Not in Running State". 

This is caused by the fact that the static Map in JmsAnalysisEngineServiceStub 
is not being cleared when each test is done. It contains a stale reference from 
the previous junit test. This stale reference has been stopped and its 
"running" flag=false causing the above mentioned exception.

There is also another problem related to the lifecycle mgmt of the shared 
uima-as client instance. In the current code, the shared instance is stopped   
when destroy() method is called. This method is called N times, where N= number 
of AE instances. So on the first destroy() call, the uima-as client is stopped 
leaving the client in !running state. Subsequent invocations to sendAndReceive 
will fail again with above mentioned exception.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to