⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xapooldriver.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
字号:
/* * Licensed under the X license (see http://www.x.org/terms.htm) */package org.ofbiz.minerva.pool.jdbc.xa;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.DriverPropertyInfo;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import org.apache.log4j.Logger;/** * JDBC Driver to access pooled JDBC connections.  Supports JDBC 2.0 * transactional XAConnections.  You will get a java.sql.Connection back * in any case (the transactional-ness is handled under the covers).  You * must create the pools ahead of time by creating and initializing the * appropriate DataSource. * <P>You should use a URL of the form * <B>jdbc:minerva:xa:<I>PoolName</I></B> to get a connection from the * pool.</P> * <P>This driver will be loaded automatically whenever an XA Pool is * created, but you can also use the standard <CODE>Class.forName</CODE> * call to load it.</P> * @see org.ofbiz.minerva.pool.jdbc.xa.XAPoolDataSource * * @author Aaron Mulder (ammulder@alumni.princeton.edu) */public class XAPoolDriver implements Driver {    private final static Logger log = Logger.getLogger(XAPoolDriver.class);    private final static String URL_START = "jdbc:minerva:xa:";    private final static XAPoolDriver instance;    static {        instance = new XAPoolDriver();        try {            DriverManager.registerDriver(XAPoolDriver.instance());        } catch (SQLException e) {            log.error("Unable to register Minerva XA DB pool driver!", e);        }    }    /**     * Gets the singleton driver instance.     */    public static XAPoolDriver instance() {        return instance;    }    private XAPoolDriver() {    }    /**     * Tells which URLs this driver can handle.     */    public boolean acceptsURL(String url) throws java.sql.SQLException {        return url.startsWith(URL_START);    }    /**     * Retrieves a connection from a connection pool.     */    public Connection connect(String url, Properties props) throws java.sql.SQLException {        if (url.startsWith(URL_START)) {            return getXAConnection(url.substring(URL_START.length()));        }        return null;  // No SQL Exception here!    }    private Connection getXAConnection(String name) {        Connection con = null;        try {            DataSource source = XAPoolDataSource.getDataSource(name);            if (source != null)                con = source.getConnection();        } catch (Exception e) {            log.error("Can't get DataSource from XAPool", e);        }        return con;    }    /**     * Returns the driver version.     */    public int getMajorVersion() {        return 2;    }    /**     * Returns the driver version.     */    public int getMinorVersion() {        return 0;    }    /**     * Returns no properties.  You do not need properties to connect to the     * pool, and the properties for the underlying driver are not managed here.     */    public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {        return new DriverPropertyInfo[0];    }    /**     * Returns <B>false</B> since it is not known which underlying driver will     * be used and what its capabilities are.     */    public boolean jdbcCompliant() {        return false;    }}/*vim:tabstop=3:et:shiftwidth=3*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -