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

Connection.isClosed throws NullPointerException or returns false after close

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 5.4.0.Final
    • Fix Version/s: 5.5.0.Final
    • Component/s: None
    • Labels:
      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
      

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                pms1 Mirko Streckenbach
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: