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

时间:2014-11-24 15:59:15

标签: postgresql jdbc jboss

我将JBoss服务器连接到新的Postgres数据库。

在standalone.xml中:

<driver name="postgresql" module="com.postgresql.pgjdbc">
    <driver-class>org.postgresql.Driver</driver-class>
</driver>

在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>

启动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)

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

1 个答案:

答案 0 :(得分:9)

根据JBoss论坛条目无:Why is my JDBC4-compliant driver loaded as "non-JDBC-compliant"?

  

因为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;
}

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

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

的一部分