我现在面临使用JBoss EAP 6.0数据源在JBoss中没有选择正确的类
的问题很奇怪的问题,基本上我已经配置,在standalone.xml数据源
<datasource jndi-name="java:jboss/jdbc/ejb/testconn" pool-name="test-cluster-Pool" enabled="true" use-java-context="true">
<connection-url>jdbc:sqlserver://127.0.0.1:1433;databaseName=testdb;</connection-url>
<driver>sqlserver-jdbc</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
这是的驱动程序的配置,我已经安装了相同的模块:
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="sqlserver-jdbc" module="com.himanshu.jdbc">
<datasource-class>com.himanshu.jdbcdriver.datasource.DataSource</datasource-class>
</driver>
</drivers>
com.himanshu.jdbcdriver.datasource.DataSource类基本上延伸com.microsoft.sqlserver.jdbc.SQL ServerDataSource:
但是当我运行测试时,我可以得出结论,它不使用我提到的数据源类。由于这两个方法,
@Override
public Connection getConnection() throws SQLServerException {
System.out.println("TRYING TO GET CONNECTION");
return null;
}
@Override
public Connection getConnection(String arg0, String arg1)
throws SQLServerException {
System.out.println("TRYING TO GET CONNECTION");
return null;
}
所以理想的连接应返回NULL,但无论是连接返回为空,也没有我得到这些SOP印刷,所以不明白的地方,我其实是错误的。
module.xml是这样的:
<module xmlns="urn:jboss:module:1.1" name="com.himanshu.jdbc">
<resources>
<resource-root path="custom-datasource-jar-with-dependencies.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
UPDATE:
它原来是在JBoss中的错误: https://issues.jboss.org/browse/JBJCA-1014
如果你看看这里的配置,我安装它,因为只有一个模块: <驱动程序名称=“sqlserver的-JDBC”模块=“com.himanshu.jdbc”> <数据源类> com.himanshu .jdbcdriver.datasource.DataSource datasource-class> 我已经将它安装为模块。我甚至能够从数据库查询,但它使用SQLJDBC4.jar的类,我已经做了扩展。 – 2013-03-19 09:25:40
你提供了你的类打包在$ JBOSS_HOME/modules/com/himanshu/jdbc中的jar吗?原始驱动程序impl也是如此?您是否在module.xml中添加了对原始驱动程序的显式依赖关系?你能提供这个文件内容吗? – Gab 2013-03-19 09:50:29
其他解决方法是通过在里面添加你的类来修改原来的驱动jar,避免添加2个模块。无论如何,这有点脏。 – Gab 2013-03-19 09:52:23