This simple example will show connections accumulating in CLOSE_WAIT on a 2.6.31 Linux kernel (Ubuntu) and Solaris10. This is true for the most recent release 5.3.0 and 5.1.X (which I am currently using).
I have read the forum entries relating the issues relating to CLOSE_WAIT, but there seems to be no conclusive reason why this is actually happening. I have tried a number of configuration options, as suggested by the forum - including the use of (not available to 5.1.X) <transportConnectors> <transportConnector name="openwire" uri="tcp://localhost:61616?transport.closeAsync=false"/> </transportConnectors> but none seem to prevent it from happening. As lifted from the most trivial of "hello worlds" public static void main(String[] args) throws Exception { int i = 0; while(i++ < 1000) { SendTest sendTest = new SendTest(); sendTest.send(); } } private void send() { try { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616"); Connection connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("TEST.FOO"); MessageProducer producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); String text = "Hello world! From: " + Thread.currentThread().getName() + " : " + this.hashCode(); TextMessage message = session.createTextMessage(text); System.out.println("Sent message: "+ message.hashCode() + " : " + Thread.currentThread().getName()); producer.send(message); session.close(); connection.close(); } catch (Exception e) { System.out.println("Caught: " + e); e.printStackTrace(); } } Running it results in the following, a...@frogl:~/apps/apache-activemq-5.3.0/bin$ netstat -a |grep CLOSE tcp6 0 0 localhost:61616 localhost:46831 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:46944 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:46856 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:46978 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:46489 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:46890 CLOSE_WAIT tcp6 0 0 localhost:61616 localhost:47257 CLOSE_WAIT a...@frogl:~/apps/apache-activemq-5.3.0/bin$ I am well aware that re-using the connection is preferable. Can anybody provide any additional insight as to why these connections result in CLOSE_WAITs? Thanks in advance -- View this message in context: http://www.nabble.com/Connection-handling-%2B-TCP-CLOSE_WAIT-on-Linux-%2B-Solaris-tp26006364p26006364.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.