Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11944

Some clustering test cases do not close JNDI InitialContext between tests


      The test case RemoteStatelessFailoverTestCase makes use of the helper class EJBRemoteDirectory to lookup JNDI names for beans in test cases. The EJB client then uses the resulting proxies to make invocations on the beans.

      This helper class is defined statically and initialized before any of the test cases run. Consequenty, the InitialContext created by the helper class is used across multiple test cases. The effect of this is that all of the proxies used in the test case are created from the same InitialContext. Consequently, they share a RemoteEJBDiscoveryProvider instance which is a class used to maintain information about server and module deployments which the EJB client references during invocation to find a suitable target for the invocation.

      This means that any server startup or shutdown activities are passed from one test case to another. This is not wanted as crash failures or shutdowns in one test will contaminate the next test, and this is exactly what is happening in a particular failure of this test.

      If your test class only involves one test, then static usage will work, but probably not recommended.

      UPDATE: This problem is present in a few other test cases, so I have updated them.

            rachmato@redhat.com Richard Achmatowicz
            rachmato@redhat.com Richard Achmatowicz
            0 Vote for this issue
            3 Start watching this issue