[ https://issues.apache.org/jira/browse/AMQ-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Beránek updated AMQ-3547: -------------------------------- Description: Similar to https://issues.apache.org/jira/browse/AMQ-3529 call close() method on connection raise JMSException with InterruptedIOException as cause Sample program: public static void main(String[] args) throws Exception { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); final Thread mainThread = Thread.currentThread(); new Thread() { public void run() { // this thread interrupt main thread after 1s try { Thread.sleep(1000); } catch (InterruptedException e) { } mainThread.interrupt(); }; }.start(); try { //wait for interrupt Thread.sleep(10000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } try { // this generate exception - bug??? connection.close(); } catch (JMSException e) { e.printStackTrace(); } // non-daemon thread responsible for connection still running, program // will not terminate } when I remove line with Session obtain, everything works OK was: Similar to https://issues.apache.org/jira/browse/AMQ-3529 call close() method on connection raise JMSException with InterruptedIOException as cause Sample program: public static void main(String[] args) throws Exception { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); final Thread mainThread = Thread.currentThread(); new Thread() { public void run() { // this thread interrupt main thread after 3s try { Thread.sleep(1000); } catch (InterruptedException e) { } mainThread.interrupt(); }; }.start(); try { //wait for interrupt Thread.sleep(10000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } try { // this generate exception - bug??? connection.close(); } catch (JMSException e) { e.printStackTrace(); } // non-daemon thread responsible for connection still running, program // will not terminate } when I remove line with Session obtain, everything works OK > Calling Connection.close() on interrupted thread generates > InterruptedIOException and leaks Connection > ------------------------------------------------------------------------------------------------------ > > Key: AMQ-3547 > URL: https://issues.apache.org/jira/browse/AMQ-3547 > Project: ActiveMQ > Issue Type: Bug > Components: JMS client > Affects Versions: 5.5.0 > Reporter: Martin Beránek > Priority: Critical > > Similar to https://issues.apache.org/jira/browse/AMQ-3529 > call close() method on connection raise JMSException with > InterruptedIOException as cause > Sample program: > public static void main(String[] args) throws Exception { > ConnectionFactory connectionFactory = new > ActiveMQConnectionFactory("tcp://localhost:61616"); > Connection connection = connectionFactory.createConnection(); > Session session = connection.createSession(false, > Session.AUTO_ACKNOWLEDGE); > final Thread mainThread = Thread.currentThread(); > new Thread() { > public void run() { > // this thread interrupt main thread after 1s > try { > Thread.sleep(1000); > } catch (InterruptedException e) { > } > mainThread.interrupt(); > }; > }.start(); > try { > //wait for interrupt > Thread.sleep(10000); > } catch (InterruptedException e) { > Thread.currentThread().interrupt(); > } > try { > // this generate exception - bug??? > connection.close(); > } catch (JMSException e) { > e.printStackTrace(); > } > // non-daemon thread responsible for connection still running, program > // will not terminate > } > when I remove line with Session obtain, everything works OK -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira