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 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

--
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


Reply via email to