Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.1.1
    • Fix Version/s: EAP_EWP 5.2.0
    • Component/s: JCA
    • Labels:
      None
    • Affects:
      Release Notes
    • Workaround Description:
      Hide

      1. Write custom org.jboss.resource.adapter.jdbc.ValidConnectionChecker implementation to work-around this issue. It is an extremely simple interface with just one method.

      2. Use the following in the datasource:

      <check-valid-connection-sql>SELECT 'x' FROM DUAL</check-valid-connection-sql>

      Show
      1. Write custom org.jboss.resource.adapter.jdbc.ValidConnectionChecker implementation to work-around this issue. It is an extremely simple interface with just one method. 2. Use the following in the datasource: <check-valid-connection-sql>SELECT 'x' FROM DUAL</check-valid-connection-sql>
    • Release Notes Text:
      Hide
      In the event the Oracle database driver reported an SQLException error, this was not treated in the same way as other error events. The handling of such an error has been changed so that it's treated as a fatal database connection error. Oracle database connections are now handled using oracle.jdbc.OracleConnection" instead of the deprecated "oracle.jdbc.driver.OracleConnection" method. The method of checking the status of an Oracle database connection has been changed, using "pingDatabase()" instead of the deprecated "pingDatabase(int)".
      Show
      In the event the Oracle database driver reported an SQLException error, this was not treated in the same way as other error events. The handling of such an error has been changed so that it's treated as a fatal database connection error. Oracle database connections are now handled using oracle.jdbc.OracleConnection" instead of the deprecated "oracle.jdbc.driver.OracleConnection" method. The method of checking the status of an Oracle database connection has been changed, using "pingDatabase()" instead of the deprecated "pingDatabase(int)".
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW

      Description

      The documentation for the oracle.jdbc.OracleConnection.pingDatabase method [1] is ambiguous. It says:

      DATABASE_OK if the database server is up, and DATABASE_CLOSED if any error occurs.

      However, it also lists SQLException as a checked exception, but doesn't indicate how to interpret it. The question one is forced to ask is, "If DATABASE_CLOSED is returned for any error then what does SQLException mean?" Obviously it indicates that an error occurred but does this kind of error mean that the same thing as DATABASE_CLOSED? To be conservative we should probably interpret the SQLException the same as DATABASE_CLOSED, but right now we don't.

      Furthermore, oracle.jdbc.OracleConnection.pingDatabase(int) is deprecated so we shouldn't use it.

      [1] http://download.oracle.com/docs/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleConnection.html#pingDatabase__

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jbertram Justin Bertram
                  Reporter:
                  lakagwu Lami Akagwu
                  Writer:
                  Russell Dickenson
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: