I have this issue for some time with ActiveMQ 4.0 and 4.0.1. I use vm transport and create one session used to produce and consume messages. Everything works fine, days in a row, until it start to throw exception that "Session is closed". There are any watch dogs that close sessions after a while, based on some criteria? I couldn't find any rule, when or why it happens. Should I create the session all the time - I understood is time consuming and it should be safe to cache it. Thanks. *javax.jms.IllegalStateException: The Session is closed at org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:577) at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:799)*