jboss7 datasource 当数据库重启自动重新获取连接
来源:互联网 发布:天天pk10计划软件 编辑:程序博客网 时间:2024/05/01 15:33
- <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">背景:</span>
jboss7 datasource,
oracle
最近客户现场的测试环境连的数据库极不稳定,经常会出现需要重新启动数据库的情况, 但是一旦重启数据库 则会出现 提示
执行sql错误,原因就是datasource 没有获取新的连接!
那么解决办法就是怎样让jboss每次提供连接的时候都给我们可用的最新的连接!
原配置如下:
- <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>
- </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>
datasource中添加 validation
- <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>
经测试问题解决了!
参考文档:
http://stackoverflow.com/questions/128527/is-there-any-way-to-have-the-jboss-connection-pool-reconnect-to-oracle-when-conn
https://developer.jboss.org/wiki/ConfigDataSources
0 0
- jboss7 datasource 当数据库重启自动重新获取连接
- jboss7 datasource 当数据库重启自动重新获取连接
- Spring通过dataSource获取数据库的连接
- hibernate自动重新连接数据库
- Spring通过dataSource获取数据库的连接测试
- JBoss7配置datasource
- 连接池自动重新连接数据库的测试
- 在数据库重启之后无法重新连接数据,无法正常提供服务问题解决
- MySQL自动重新连接
- MySQL自动重新连接
- MySQL自动重新连接
- vb 自动获取 数据库 连接 字符串
- DriverManager与DataSource 连接数据库区别?
- jboss7 配置三----为JBoss7配置MSSQL的DataSource
- 让Hibernate自动重新连接数据库——使用c3p0连接池
- 让Hibernate自动重新连接数据库——使用c3p0连接池
- 为JBoss7配置MSSQL的DataSource
- 为JBoss7配置MSSQL的DataSource
- 人脸对齐(二):Active Shape Models ---Their Training and Application
- JAVA加载外部资源库
- String 判断纯数字 正则式
- 微信支付登录总结
- 为OLED屏增加GUI支持5:图片控件
- jboss7 datasource 当数据库重启自动重新获取连接
- iOS面试3
- Play framework 重定向
- Spring学习详解(1)——Spring入门详解
- python Item_CF
- bootstrap导入JavaScript插件
- 黑马程序员--OC自学笔记---05点语法、@property、@synthesize、动态类型、id类型、响应方法、构造方法
- 2015私人阅读十五佳
- activemq开启 jmx