• 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) { ... }

    
    
  • 相关阅读:
    Python之协程
    Python之线程 3
    js和jsp之间相互传值
    毕业设计记录
    毕业设计记录16
    mysql select一张表的字段数据insert写入另一张表,同时传入自定义数据
    MySQL防止重复插入相同记录
    毕业设计记录
    解决python mysql插入int型数据报错:TypeError: %d format: a number is required, not str
    毕业设计记录
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377369.html
Copyright © 2020-2023  润新知