配置数据源,调整参数
各种类型的数据库,都可以根据%JBOSS_HOME%/docs/examples/jca/下的示例文档配置,更详细的参数配置可参阅JBOSS.com上的文档或…/docs/dtd/下的dtd定义来配置。
下面以oracle为例,提供我们在生产机环境的配置。
该xml文件需要被部署在%JBOSS_HOME%/server/all(or default)/deploy/下,对应的数据库驱动程序jar需copy至部署的配置的lib下,如…all/lib/或…default/lib/下。
< datasources >
< local-tx-datasource >
< jndi-name >jdbc/TestDataSource< /jndi-name >
< connection-url >jdbc:oracle:thin:@192.168.1.2:1521:test< /connection-url >
< !--< connection-url >jdbc:oracle:oci:@youroracle-tns-name< /connection-url >-- >
< driver-class >oracle.jdbc.driver.OracleDriver< /driver-class >
< user-name >test< /user-name >
< password >test< /password >
< !-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -- >
< valid-connection-checker-class-name >org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker< /valid-connection-checker-class-name >
< !-- Checks the Oracle error codes and messages for fatal errors -- >
< exception-sorter-class-name >org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter< /exception-sorter-class-name >
< !-- sql to call when connection is created
< new-connection-sql >some arbitrary sql< /new-connection-sql >
-- >
< min-pool-size >5< /min-pool-size >< !—最小连接池数目-- >
< max-pool-size >800< /max-pool-size >< !—最大连接池数目-- >
< idle-timeout-minutes >5< /idle-timeout-minutes >< !—数据库连接空闲时间,单位为分钟,如果负载较大,可以设为5,如果一般,可以设为3-- >
< !—在从连接池里获得一个连接之前先通过执行一个简单的SQL来校验connection的有效性-- >
< check-valid-connection-sql >select 1 from dual< /check-valid-connection-sql >
< /local-tx-datasource >
< /datasources >
如有多个数据源,则根据数据库的类型,配置完成,部署在上述路径下即可。
在代码中可通过JNDI来从连接池中获取连接。
……
Context ctx = new javax.naming.InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:jdbc/TestDataSource ");
Connection con = ds.getConnection();