JBOSS管理数据库连接

一、普通JDBC方式:

    static final String DB_DRIVER_CLASS = "com.mysql.jdbc.Driver";
static final String DB_URL =
"mysql://localhost:3306/JBossatWorkDB?autoReconnect=true";

Connection connection = null;

try {
// Load the Driver.
Class.forName(DB_DRIVER_CLASS).newInstance( );

// Connect to the database.
connection = DriverManager.getConnection(DB_URL);

} catch (SQLException se) {
...
} catch (...) {
...
}

二、通过JBOSS管理
1、配置文件jaw-ds.xml
<datasources>
<local-tx-datasource>
<jndi-name>JBossAtWorkDS</jndi-name>
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<track-statements/>
<metadata>
<type-mapping>Hypersonic SQL</type-mapping>
</metadata>
<depends>jboss:service=Hypersonic-JAW,database=jawdb</depends>
</local-tx-datasource>
.......

2、JNDI查寻器ServiceLocator.java:
package com.jbossatwork.util;

import javax.naming.*;
import javax.sql.*;

public class ServiceLocator {
private ServiceLocator( ) { }

public static DataSource getDataSource(String dataSourceJndiName)
throws ServiceLocatorException {

DataSource dataSource = null;
try {
Context ctx = new InitialContext( );
dataSource = (DataSource) ctx.lookup(dataSourceJndiName);

} catch (ClassCastException cce) {
throw new ServiceLocatorException(cce);
} catch (NamingException ne) {
throw new ServiceLocatorException(ne);
}
return dataSource;
}
}

3、通过JBOSS连接:

static final String DATA_SOURCE= "java:comp/env/jdbc/JBossAtWorkDS"; DataSource dataSource = null; Connection conn = null; try { // Load the Driver. dataSource = ServiceLocator.getDataSource(DATA_SOURCE); // Connect to the database. conn = dataSource.getConnection( ); } catch (SQLException se) { ... } catch (ServiceLocatorException sle) { ... }


posted @ 2009-02-26 22:46  beta2013  阅读(268)  评论(0编辑  收藏  举报