我将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)
驱动程序似乎确实连接并正常工作。这种违规行为会产生什么影响?
答案 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
的一部分