JBoss日志Postgres驱动程序是"非JDBC兼容的"

amp*_*ent 5 postgresql jboss jdbc

我将我的JBoss服务器连接到一个新的Postgres数据库.

在standalone.xml中:

<driver name="postgresql" module="com.postgresql.pgjdbc">
    <driver-class>org.postgresql.Driver</driver-class>
</driver>
Run Code Online (Sandbox Code Playgroud)

在module.xml中:

<module xmlns="urn:jboss:module:1.1" name="com.postgresql.pgjdbc">
    <resources>
        <resource-root path="postgresql-9.3-1102.jdbc41.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>
Run Code Online (Sandbox Code Playgroud)

启动JBoss时,我得到以下日志条目:

10:49:57,206 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 25) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
Run Code Online (Sandbox Code Playgroud)

驱动程序确实似乎连接和工作.这种违规行为会产生什么影响?

Fed*_*rra 11

根据这个JBoss论坛条目无:为什么我的JDBC4兼容驱动程序被加载为"非JDBC兼容"?

因为org.postgresql.Driver#jdbcCompliant()返回false.所以你现在可以忽略它,我确信PostgreSQL JDBC人员会喜欢代码贡献

和源代码:

 /**
* Report whether the driver is a genuine JDBC compliant driver. A
* driver may only report "true" here if it passes the JDBC compliance
* tests, otherwise it is required to return false. JDBC compliance
* requires full support for the JDBC API and full support for SQL 92
* Entry Level.
*
* <p>For PostgreSQL, this is not yet possible, as we are not SQL92
* compliant (yet).
*/
public boolean jdbcCompliant()
{
    return false;
}
Run Code Online (Sandbox Code Playgroud)

https://github.com/pgjdbc/pgjdbc/blob/REL9_3_1102/org/postgresql/Driver.java.in

这是TODO列表的一部分http://jdbc.postgresql.org/development/todo.html#Compliance