I have run into a situation that, while completely unexpected, appears to have a nice side-benefit that I am interested in understanding better.
I have written a series of JUnit-based tests to verify various JMS connection behaviors of my code. Both the "server" and "client" components normally are run within the same JVM and access JNDI via a jndi.properties file.
I have exercised the tests on both a local and remote running JBoss instances and all is well.
Purely by accident I exercised the tests without JBoss running and lo and behold the TESTS PASSED (and yes, messages were sent and received).
Upon detailed examination of log4j output from JBoss it appears the jbossall-client.jar code is indeed starting up a JMS service (and presumably JNDI). I have yet to find any documentation describing this behavior.
One additional observation was that the code only works when I am using JBoss queues and topics (e.g. queue/testQueue, queue/A, etc.). Using my own queues produces a failure in locating the queue via JNDI.
I have yet to dig thru source but can anyone confirm my observation? Does jbossall-client start up JMS/JNDI services for inter-JVM communication?
UPDATE: jndi InitialContext
The test code currently uses a jndi.properties file with the following information:
When the code uses InitialProperties() (no argument variant) the JNDI service cannot be located (as I expect).