Thanks Alexandre, I'll try your solution. Yelei
Hi Yelei, You could try the following change to your jndi.properties file: java.naming.provider.url = tcp://ws293.soadev.local:61616/localhost:1234 Where 1234 is a port you know to be open on the *client side*. The local port number a client uses will most likely change from a connection to the other. (ie: when a client opens a socket, the server port is fixed to 61616 but the client port can be almost anything). It is possible that, when your are lucky, all connections are established using local ports that are not filtered by your firewall and that, when you are unlucky, only the first connection "passes through". That could explain the inconsistent behavior you experienced. So try the change I proposed; it will tie the client to a fixed port number (you can monitor your connections using jconsole to make sure your client always uses the same port). More info: SSL & local address / local port: http://activemq.apache.org/how-do-i-define-a-local-address-and-local-port-for-tcp-or-ssl.html Monitoring using JMS: http://activemq.apache.org/jmx.html Alexandre -- View this message in context: http://old.nabble.com/problem-related-to-reading-multiple-messages-from-the-queue-tp29045640p29082706.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.