jboss连接池,断开后自动重连功能
生活随笔
收集整理的這篇文章主要介紹了
jboss连接池,断开后自动重连功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近客戶現場的測試環境連的數據庫極不穩定,經常會出現需要重新啟動數據庫的情況, 但是一旦重啟數據庫 則會出現 提示 ,執行sql錯誤,原因就是datasource 沒有獲取新的連接!
那么解決辦法就是怎樣讓jboss每次提供連接的時候都給我們可用的最新的連接!
文章目錄
- 一、環境配置
- 二、配置文件路徑
- 三、添加重連標簽
- 四、配置截圖
- 五、配置后的文件總覽
- 六、其他解決辦法
- 6.1. Jboss數據庫連接斷開自動重連
- 6.2. Jboss配置自動重連數據庫
一、環境配置
| 數據庫 | oracle |
二、配置文件路徑
在數據源standalone.xml配置文件中添加此標簽即可
/app/wildfly-10.1.0.Final/standalone/configuration/standalone.xml
三、添加重連標簽
<validation> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> </validation>四、配置截圖
五、配置后的文件總覽
<subsystem xmlns="urn:jboss:domain:datasources:1.0"><datasources><datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"><connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url><driver>h2</driver><security><user-name>sa</user-name><password>sa</password></security></datasource><datasource jndi-name="java:/comp/env/siniteksirm" pool-name="siniteksirm" enabled="true" use-java-context="true"><connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url><driver>oracle</driver><pool><min-pool-size>10</min-pool-size><max-pool-size>100</max-pool-size></pool><security><user-name>broker</user-name><password>broker</password></security><validation><check-valid-connection-sql>select 1 from dual</check-valid-connection-sql></validation></datasource><drivers><driver name="h2" module="com.h2database.h2"><xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class></driver><driver name="oracle" module="com.oracle.jdbc"><xa-datasource-class>oracle.jdbc.xa.OracleXADataSource</xa-datasource-class></driver></drivers></datasources></subsystem>六、其他解決辦法
6.1. Jboss數據庫連接斷開自動重連
| 數據庫 | oracle |
Jboss默認配置是數據庫連接端口后,服務就會出現異常,無法訪問,此時必須重啟Jboss服務才能重新連接上數據庫。
在jboss/server/defult/deploy/oracle-ds.xml中加入:
<new-connection-sql>select 1 from dual</new-connection-sql> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>配置后的文件總覽
<?xml version="1.0" encoding="utf-8"?><datasources> <local-tx-datasource> <jndi-name>OracleDS</jndi-name> <connection-url>jdbc:oracle:thin:@172.30.26.44:1521:orcl</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>hadiandev</user-name> <password>hadiandev</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>Oracle9i</type-mapping> <min-pool-size>5</min-pool-size> <max-pool-size>20</max-pool-size> <idle-timeout-minutes>1</idle-timeout-minutes> <track-statements/> <prepared-statement-cache-size>32</prepared-statement-cache-size> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> <new-connection-sql>select 1 from dual</new-connection-sql> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name> </metadata> </local-tx-datasource> </datasources>6.2. Jboss配置自動重連數據庫
| 數據庫 | mysql |
總結
以上是生活随笔為你收集整理的jboss连接池,断开后自动重连功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作流实战_06_flowable 流程
- 下一篇: 如何把暂存区恢复成和HEAD的一样?