Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-2798

Connection.isClosed throws NullPointerException or returns false after close

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 5.5.0.Final
    • 5.4.0.Final
    • None
    • None

    Description

      The following snippet fails with a NullPointerException:

      Connection c = ConnectionManager.create(dbUrl, properties);
      System.err.println("closed1=" + c.isClosed());
      c.close();
      System.err.println("closed2=" + c.isClosed());
      

      output:

      closed1=false
      java.lang.NullPointerException
      	at com.arjuna.ats.internal.jdbc.ConnectionImple.closeImpl(ConnectionImple.java:389)
      	at com.arjuna.ats.internal.jdbc.ConnectionImple.close(ConnectionImple.java:381)
      	at org.jboss.narayana.quickstarts.jta.Main.main(Main.java:140)
      

      If it is modified to "use" the init the physical connect before closing, it will not throw an
      exception, but returns false for isClosed after the close:

      Connection c = ConnectionManager.create(dbUrl, properties);
      System.err.println("closed1=" + c.isClosed());
      c.createStatement().close();
      System.err.println("closed2=" + c.isClosed());
      c.close();
      System.err.println("closed3=" + c.isClosed());
      

      output:

      closed1=false
      closed2=false
      closed3=false
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            pms11 Mirko Streckenbach (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: