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