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

📄 datasourceservice.java

📁 Java Database connection pool
💻 JAVA
字号:
/* *  PoolMan Java Object Pooling and Caching Library *  Copyright (C) 1999-2001 The Code Studio * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Lesser General Public *  License as published by the Free Software Foundation; either *  version 2 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Lesser General Public License for more details. * *  The full license is located at the root of this distribution *  in the LICENSE file. */package com.codestudio.management;import com.codestudio.util.JDBCPool;import com.codestudio.util.JDBCPoolMetaData;import com.codestudio.util.ObjectPool;import com.codestudio.util.SQLManager;import javax.management.MBeanRegistration;/** * An MBean defining the manageable attributes of a JDBCPool * and PoolManDataSource. */public class DataSourceService extends ObjectPoolService implements DataSourceServiceMBean, MBeanRegistration {    private JDBCPoolMetaData jdbcMeta;    public DataSourceService() {        this.metadata = new JDBCPoolMetaData();        this.jdbcMeta = (JDBCPoolMetaData) this.metadata;    }    /* SERVICE ACTIONS */    public void start() throws Exception {        // create the pool and put it in SQLManager via singleton callback        SQLManager m = SQLManager.getInstance();        JDBCPool pool = m.createPool(this.jdbcMeta);        pool.log("PoolMan DataSourceService: Created JDBC Connection Pool named: " + getDbname());        // flip the switch        this.available = true;    }    public void stop() throws Exception {        // flip the switch        this.available = false;        // retrieve the pool        SQLManager m = SQLManager.getInstance();        JDBCPool pool = (JDBCPool) m.getPool(getDbname());        // remove it from the manager        m.removePool(getDbname());        // destroy the pool        pool.log("PoolMan DataSourceService: Destroying JDBC Connection Pool " + getDbname());        pool.closeAllResources();        pool = null;    }    public boolean isRunning() {        return this.available;    }    /* PHYSICAL CONNECTION METHODS */    public String getDriver() {        return this.jdbcMeta.getDriver();    }    public void setDriver(String driver) {        this.jdbcMeta.setDriver(driver);    }    public String getURL() {        return this.jdbcMeta.getURL();    }    public void setURL(String URL) {        this.jdbcMeta.setURL(URL);    }    public String getUserName() {        return this.jdbcMeta.getUserName();    }    public void setUserName(String username) {        this.jdbcMeta.setUserName(username);    }    public String getPassword() {        return this.jdbcMeta.getPassword();    }    public void setPassword(String password) {        this.jdbcMeta.setPassword(password);    }    /* DATASOURCE METHODS */    public String getDbname() {        return this.jdbcMeta.getName();    }    public void setDbname(String n) {        this.jdbcMeta.setName(n);    }    public String getJNDIName() {        return this.jdbcMeta.getJNDIName();    }    public void setJNDIName(String n) {        this.jdbcMeta.setJNDIName(n);    }    public boolean isNativeResults() {        return this.jdbcMeta.isNativeResults();    }    public void setNativeResults(boolean b) {        this.jdbcMeta.setNativeResults(b);    }    public boolean isDataSourceDeployed() {        JDBCPool pool = (JDBCPool) SQLManager.getInstance().getPool(getDbname());        return pool.isDataSourceDeployed();    }    /* POOL BEHAVIOR METHODS */    public boolean isPoolPreparedStatements() {        return this.jdbcMeta.isPoolPreparedStatements();    }    public void setPoolPreparedStatements(boolean poolingPreparedStatements) {        this.jdbcMeta.setPoolPreparedStatements(poolingPreparedStatements);    }    public String getValidationQuery() {        return this.jdbcMeta.getValidationQuery();    }    public void setValidationQuery(String sql) {        this.jdbcMeta.setValidationQuery(sql);    }    public String getInitialPoolSQL() {        return this.jdbcMeta.getInitialPoolSQL();    }    public void setInitialPoolSQL(String sql) {        this.jdbcMeta.setInitialPoolSQL(sql);    }    public String getInitialConnectionSQL() {        return this.jdbcMeta.getInitialConnectionSQL();    }    public void setInitialConnectionSQL(String sql) {        this.jdbcMeta.setInitialConnectionSQL(sql);    }    public boolean isRemoveOnExceptions() {        return this.jdbcMeta.isRemoveOnExceptions();    }    public void setRemoveOnExceptions(boolean b) {        this.jdbcMeta.setRemoveOnExceptions(b);    }    /* POOLED CONNECTION METHODS */    public int getInitialConnections() {        return getInitialObjects();    }    public void setInitialConnections(int n) {        setInitialObjects(n);    }    public int getConnectionTimeout() {        return getObjectTimeout();    }    public void setConnectionTimeout(int n) {        setObjectTimeout(n);    }    /* TX METHODS */    public int getTransactionTimeout() {        return this.jdbcMeta.getTransactionTimeout();    }    public void setTransactionTimeout(int n) {        this.jdbcMeta.setTransactionTimeout(n);    }    public String getTxIsolationLevel() {        return this.jdbcMeta.getTxIsolationLevel();    }    public void setTxIsolationLevel(String s) {        this.jdbcMeta.setTxIsolationLevel(s);    }    /* QUERY CACHE METHODS */    public boolean isCacheEnabled() {        return this.jdbcMeta.isCacheEnabled();    }    public void setCacheEnabled(boolean b) {        this.jdbcMeta.setCacheEnabled(b);    }    public int getCacheSize() {        return this.jdbcMeta.getCacheSize();    }    public void setCacheSize(int n) {        this.jdbcMeta.setCacheSize(n);    }    public int getCacheRefreshInterval() {        return this.jdbcMeta.getCacheRefreshInterval();    }    public void setCacheRefreshInterval(int seconds) {        this.jdbcMeta.setCacheRefreshInterval(seconds);    }    /* READ-ONLY MONITORING METHODS */    public int getAvailableConnections() {        ObjectPool pool = SQLManager.getInstance().getPool(getDbname());        return pool.numCheckedInObjects();    }    public int getUnavailableConnections() {        ObjectPool pool = SQLManager.getInstance().getPool(getDbname());        return pool.numCheckedOutObjects();    }    public int getTotalConnections() {        ObjectPool pool = SQLManager.getInstance().getPool(getDbname());        return pool.numTotalObjects();    }}

⌨️ 快捷键说明

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