What database server and driver version should I use with JBoss EAP?
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7
- 6
Issue
- Red Hat documents the major version family of database servers and drivers which are tested for compatibility with JBoss Enterprise Application Platform (EAP)
- Will use of a major version of the database server or driver which differs from the version tested with the JBoss EAP release be supported?
- Will use of a minor version of the database server or driver which differs from the version tested with the JBoss EAP release be supported?
- Does Red Hat support my DB2 , Oracle, Postgres, MySQL database versions?
- I can't find my database version in the Red Hat EAP 7 support configuration pages
- Which database versions are supported with JBoss EAP 7
Resolution
- Whenever possible, database servers and drivers within the same major version family as those tested by Red Hat for compatibility with the specific major version of JBoss EAP should be used.
- For database server and driver combinations specifically tested with a given JBoss EAP major version, the most recent version (in the tested major version family of the database server or driver) is recommended for use. For example:
- If the database server version 6.<minor_version> is tested with the JBoss EAP version, the latest 6.x database server version should be used.
- If the database driver version 6.<minor_version> is tested with the JBoss EAP version, the latest 6.x database driver version should be used.
- The most recent cumulative patch (CP) level for the JBoss EAP release should be used.
- Cumulative patches do not change the JBoss EAP major version
- JBoss EAP 7.2 and 6.4 are major versions and the latest available cumulative patch for these major versions should be used.
- Red Hat will provide support for applying configuration that is recommended by the 3rd party driver/database vendor.
- As a rule, Red Hat Support associates do not have insight into the internal implementation or requirements of 3rd party products.
- The role of Red Hat Support associates will be to assist with applying (in the manner supported by JBoss EAP) required configuration that is identified by the customer based on their evaluation of their specific system, findings from driver/database documentation or direct consultation with 3rd party driver/database support.
- Red Hat will provide support with issues identified within JBoss EAP and Hibernate code if they represent incorrect usage of the JDBC 4 API.
- Red Hat will provide support with issues within Hibernate code if they represent incorrect usage of the SQL syntax or functionality of the tested database driver/server major version family.
- Issues unique to the use of database driver or server versions other than the tested major version family (of the database server and driver) are subject to the limits of commercially reasonable support. This may include:
- Recommendation for alternative configuration (e.g. system properties, datasource properties, etc.)
- Recommendation for alternative code (i.e. application code changes)
- Recommendation to consult the 3rd party vendor to seek further advice
- Each customer is expected to have a current license agreement with relevant 3rd party vendors.
- Opening a request for an enhancement (RFE) to be considered for inclusion in a future JBoss EAP release
- Note that newer database driver and server versions are often tested with each new major version of JBoss EAP.
References
- Tested Configuration Pages EAP 7
- Tested Configuration Pages EAP 6
- How does Red Hat support me when I use third party components?
Root Cause
- JBoss EAP provides pooling of database connections created using the standard JDBC 4 API
- Adherence to the JDBC 4 standard limits vulnerability to changes across versions of JDBC drivers or database servers.
- In most cases, JBoss EAP will work well with 3rd party JDBC drivers to the degree that the 3rd party driver implements the JDBC 4 standard.
- In some cases, vendor (and version) specific SQL/functionality may be used (from within the Hibernate code).
- Hibernate is vulnerable to issues introduced by changes within 3rd party drivers and database servers, particularly, when those changes are in the area of vendor specific functionality which falls outside of the scope of JDBC and/or SQL standard specifications.
- Vulnerabilities are more likely when using database drivers/servers from a different major version family than the specific configuration tested with the JBoss EAP/Hibernate release.
- In some cases, functionality not present in the tested major version of the JDBC driver or database server may be unavailable when using other driver or database server versions (this may vary with the exact functionality and the manner in which it is accessed).
Components
Category
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.