我正在使用配置了多个数据源的jboss 5.0.1。
似乎在启动时,如果其中一个配置不正确,jboss会抛出异常并拒绝启动。
我想知道是否可以配置jboss以适应这些问题。
答案 0 :(得分:0)
您可以在xml文件中配置包含连接参数/映射的连接。在我的情况下,我使用microsoft sql server作为数据源,所以我必须使用mssql-ds.xml文件(在server / deploy目录中)来指定:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>myTestServer</jndi-name>
<connection-url>jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;databaseName=MyDB</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<user-name>test</user-name>
<password>abc123</password>
<min-pool-size>10</min-pool-size>
<max-pool-size>25</max-pool-size>
<!-- sql to call when connection is created -->
<new-connection-sql>select getdate()</new-connection-sql>
<!-- -->
<!-- sql to call on an existing pooled connection when it is obtained from pool
This will be run before a managed connection is removed from the pool
for use by a client -->
<check-valid-connection-sql>select getdate()</check-valid-connection-sql>
</local-tx-datasource>
</datasources>
这有助于控制池中的连接,并应该阻止狡猾的死锁。我不完全确定这是否会测试有问题的连接上的当前事务级别,所以如果你想绝对确定,你可以尝试:<check-valid-connection-sql>IF @@TRANCOUNT > 0 raiserror ('%s',18,1,'Open Transactions Discovered')</check-valid-connection-sql>
这将为你提供一个明确的SQLException来处理。
但是如果你在启动时遇到错误,那么查看这些错误是非常有用的。