当前位置: 首页>>代码示例>>Java>>正文


Java DriverManager.deregisterDriver方法代码示例

本文整理汇总了Java中java.sql.DriverManager.deregisterDriver方法的典型用法代码示例。如果您正苦于以下问题:Java DriverManager.deregisterDriver方法的具体用法?Java DriverManager.deregisterDriver怎么用?Java DriverManager.deregisterDriver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.sql.DriverManager的用法示例。


在下文中一共展示了DriverManager.deregisterDriver方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: release

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * 关闭所有连接,撤销驱动程序的注册
 */
public synchronized void release() {
	// 等待直到最后一个客户程序调用
	if (--clients != 0) {
		return;
	}

	Enumeration allPools = pools.elements();
	while (allPools.hasMoreElements()) {
		DBConnectionPool pool = (DBConnectionPool) allPools.nextElement();
		pool.release();
	}
	Enumeration allDrivers = drivers.elements();
	while (allDrivers.hasMoreElements()) {
		Driver driver = (Driver) allDrivers.nextElement();
		try {
			DriverManager.deregisterDriver(driver);
		} catch (SQLException e) {
		}
	}
}
 
开发者ID:langxianwei,项目名称:iot-plat,代码行数:24,代码来源:DBConnectionManager.java

示例2: testLoadFromDriverManager

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Tests that drivers from DriverManager are loaded.
 */
public void testLoadFromDriverManager() throws Exception {
    final String URL = "jdbc:testLoadFromDriverManager";
    
    Driver d = new DriverImpl(URL);
    DriverManager.registerDriver(d);
    try {
        Driver found = DbDriverManager.getDefault().getDriver(URL, null);
        assertSame(d, found);
        Connection conn = DbDriverManager.getDefault().getConnection(URL, new Properties(), null);
        assertNotNull(conn);
        assertSame(d, ((ConnectionEx)conn).getDriver());
    } finally {
        DriverManager.deregisterDriver(d);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:DbDriverManagerTest.java

示例3: beforeJFinalStop

import java.sql.DriverManager; //导入方法依赖的package包/类
@Override
public void beforeJFinalStop() {
    Enumeration<Driver> drivers = DriverManager.getDrivers();
    if (drivers != null) {
        while (drivers.hasMoreElements()) {
            try {
                Driver driver = drivers.nextElement();
                DriverManager.deregisterDriver(driver);
            } catch (Exception e) {
                log.error(e.toString(), e);
            }
        }
    }
    JbootConfigManager.me().destroy();
    JbootAppListenerManager.me().onJFinalStop();
}
 
开发者ID:yangfuhai,项目名称:jboot,代码行数:17,代码来源:JbootAppConfig.java

示例4: deregisterJdbcDrivers

import java.sql.DriverManager; //导入方法依赖的package包/类
private void deregisterJdbcDrivers() {
  ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
  Enumeration<Driver> drivers = DriverManager.getDrivers();

  while (drivers.hasMoreElements()) {
    LOGGER.debug("Deregistering JDBC Drivers:");
    Driver driver = drivers.nextElement();
    if (driver.getClass().getClassLoader() == classLoader) {
      try {
        LOGGER.debug("  {} v{}.{}",
            driver.getClass().getName(),
            driver.getMajorVersion(),
            driver.getMinorVersion()
        );

        DriverManager.deregisterDriver(driver);
      } catch (SQLException e) {
        LOGGER.error("Failed to deregister JDBC driver: ", e);
      }
    }
  }
}
 
开发者ID:durimkryeziu,项目名称:jersey-2.x-webapp-for-servlet-container,代码行数:23,代码来源:SampleApplicationDestroyListener.java

示例5: doRegisterDriver

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * do register driver
 * 
 * @param dr
 */
public Driver doRegisterDriver(Driver dr, boolean needRegisterToDriverManager) {

    try {
        if (needRegisterToDriverManager == true) {
            DriverManager.deregisterDriver(dr);
        }

        Driver drProxy = JDKProxyInvokeUtil.newProxyInstance(this.getClass().getClassLoader(),
                new Class<?>[] { Driver.class }, new JDKProxyInvokeHandler<Driver>(dr, new DriverProxy()));

        if (needRegisterToDriverManager == true) {
            DriverManager.registerDriver(drProxy);
        }

        return drProxy;
    }
    catch (SQLException e) {
        logger.error("Install JDBC Driver Proxy FAIL.", e);
    }

    return dr;

}
 
开发者ID:uavorg,项目名称:uavstack,代码行数:29,代码来源:JdbcDriverIT.java

示例6: testGetDriverPriority

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Tests the driver priority if there are multiple drivers which accept the same URL.
 */
public void testGetDriverPriority() throws Exception {
    // register a driver to DriverManager
    Driver ddm = new DriverImpl(DriverImpl.DEFAULT_URL);
    DriverManager.registerDriver(ddm);
    try {
        // register a driver to DbDriverManager
        Driver dreg = new DriverImpl(DriverImpl.DEFAULT_URL);
        DbDriverManager.getDefault().registerDriver(dreg);
        try {
            // create a JDBC driver
            JDBCDriver drv = createJDBCDriver();

            Driver driver;

            // the drivers registered with DbDriverManager have the greatest priority
            driver = DbDriverManager.getDefault().getDriver(DriverImpl.DEFAULT_URL, drv);
            assertSame(dreg, driver);

            // if nothing registered, try to load a driver from the JDBCDriver URLs 
            DbDriverManager.getDefault().deregisterDriver(dreg);
            driver = DbDriverManager.getDefault().getDriver(DriverImpl.DEFAULT_URL, drv);
            assertNotSame(dreg, driver);
            assertNotSame(ddm, driver);

            // if no JDBCDriver, try DriverManager
            driver = DbDriverManager.getDefault().getDriver(DriverImpl.DEFAULT_URL, null);
            assertSame(ddm, driver);
        } finally {
            DbDriverManager.getDefault().deregisterDriver(dreg);
        }
    } finally {
        DriverManager.deregisterDriver(ddm);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:38,代码来源:DbDriverManagerTest.java

示例7: clearJdbcDriverRegistrations

import java.sql.DriverManager; //导入方法依赖的package包/类
public List<String> clearJdbcDriverRegistrations() throws SQLException {
	List<String> driverNames = new ArrayList<String>();

	/*
	 * DriverManager.getDrivers() has a nasty side-effect of registering
	 * drivers that are visible to this class loader but haven't yet been
	 * loaded. Therefore, the first call to this method a) gets the list of
	 * originally loaded drivers and b) triggers the unwanted side-effect.
	 * The second call gets the complete list of drivers ensuring that both
	 * original drivers and any loaded as a result of the side-effects are
	 * all de-registered.
	 */
	HashSet<Driver> originalDrivers = new HashSet<Driver>();
	Enumeration<Driver> drivers = DriverManager.getDrivers();
	while (drivers.hasMoreElements()) {
		originalDrivers.add(drivers.nextElement());
	}
	drivers = DriverManager.getDrivers();
	while (drivers.hasMoreElements()) {
		Driver driver = drivers.nextElement();
		// Only unload the drivers this web app loaded
		if (driver.getClass().getClassLoader() != this.getClass().getClassLoader()) {
			continue;
		}
		// Only report drivers that were originally registered. Skip any
		// that were registered as a side-effect of this code.
		if (originalDrivers.contains(driver)) {
			driverNames.add(driver.getClass().getCanonicalName());
		}
		DriverManager.deregisterDriver(driver);
	}
	return driverNames;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:34,代码来源:JdbcLeakPrevention.java

示例8: clearJdbcDriverRegistrations

import java.sql.DriverManager; //导入方法依赖的package包/类
public List<String> clearJdbcDriverRegistrations() throws SQLException {
    List<String> driverNames = new ArrayList<String>();

    /*
     * DriverManager.getDrivers() has a nasty side-effect of registering
     * drivers that are visible to this class loader but haven't yet been
     * loaded. Therefore, the first call to this method a) gets the list
     * of originally loaded drivers and b) triggers the unwanted
     * side-effect. The second call gets the complete list of drivers
     * ensuring that both original drivers and any loaded as a result of the
     * side-effects are all de-registered.
     */
    HashSet<Driver> originalDrivers = new HashSet<Driver>();
    Enumeration<Driver> drivers = DriverManager.getDrivers();
    while (drivers.hasMoreElements()) {
        originalDrivers.add(drivers.nextElement());
    }
    drivers = DriverManager.getDrivers();
    while (drivers.hasMoreElements()) {
        Driver driver = drivers.nextElement();
        // Only unload the drivers this web app loaded
        if (driver.getClass().getClassLoader() !=
            this.getClass().getClassLoader()) {
            continue;
        }
        // Only report drivers that were originally registered. Skip any
        // that were registered as a side-effect of this code.
        if (originalDrivers.contains(driver)) {
            driverNames.add(driver.getClass().getCanonicalName());
        }
        DriverManager.deregisterDriver(driver);
    }
    return driverNames;
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:35,代码来源:JdbcLeakPrevention.java

示例9: close

import java.sql.DriverManager; //导入方法依赖的package包/类
@Override
public void close() {
    try {
        DriverManager.deregisterDriver(DriverManager.getDriver(getJdbcUrl()));
    } catch (Exception e) {
        e.printStackTrace();
    }
    super.close();
}
 
开发者ID:shizicheng,项目名称:spring_mvc_template,代码行数:10,代码来源:DataSource.java

示例10: test15

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Register a driver and make sure you find it via its URL. Deregister the
 * driver and validate it is not longer registered
 *
 * @throws Exception
 */
@Test()
public void test15() throws Exception {
    DriverManager.registerDriver(new StubDriver());
    Driver d = DriverManager.getDriver(StubDriverURL);
    assertTrue(d != null);
    assertTrue(isDriverRegistered(d));
    DriverManager.deregisterDriver(d);
    assertFalse(isDriverRegistered(d));
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:16,代码来源:DriverManagerTests.java

示例11: test16

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Validate that DriverAction.release is called when a driver is registered
 * via registerDriver(Driver, DriverAction)
 *
 * @throws Exception
 */
@Test
public void test16() throws Exception {
    File file = new File(util.StubDriverDA.DriverActionCalled);
    file.delete();
    assertFalse(file.exists());
    Driver d = null;
    Class.forName("util.StubDriverDA");
    d = DriverManager.getDriver(StubDriverDAURL);
    DriverManager.deregisterDriver(d);
    assertFalse(isDriverRegistered(d), "Driver is registered");
    assertTrue(file.exists());
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:19,代码来源:DriverManagerTests.java

示例12: test

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Validate JDBC drivers as modules will be accessible. One driver will be
 * loaded and registered via the service-provider loading mechanism. The
 * other driver will need to be explictly loaded
 *
 * @throws java.lang.Exception
 */
@Test
public void test() throws Exception {
    System.out.println("\n$$$ runing Test()\n");
    dumpRegisteredDrivers();
    Driver d = DriverManager.getDriver(STUBDRIVERURL);
    assertNotNull(d, "StubDriver should not be null");
    assertTrue(isDriverRegistered(d));
    Driver d2 = null;

    // This driver should not be found until it is explictly loaded
    try {
        d2 = DriverManager.getDriver(LUCKYDOGDRIVER_URL);
    } catch (SQLException e) {
        // ignore expected Exception
    }
    assertNull(d2, "LuckyDogDriver should  be null");
    loadDriver();
    d2 = DriverManager.getDriver(LUCKYDOGDRIVER_URL);
    assertNotNull(d2, "LuckyDogDriver should not be null");
    assertTrue(isDriverRegistered(d2), "Driver was NOT registered");

    dumpRegisteredDrivers();
    DriverManager.deregisterDriver(d2);
    assertFalse(isDriverRegistered(d2), "Driver IS STILL registered");
    dumpRegisteredDrivers();

}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:35,代码来源:DriverManagerModuleTests.java

示例13: test3

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Validate that a null value allows for deRegisterDriver to return
 */
@Test
public void test3() throws Exception {
    DriverManager.deregisterDriver(null);

}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:DriverManagerTests.java

示例14: testGetConnection

import java.sql.DriverManager; //导入方法依赖的package包/类
/**
 * Tests the driver priority if there are multiple drivers which accept the same URL.
 * Also tests the getSameDriverConnection() method.
 */
public void testGetConnection() throws Exception {
    // register a driver to DriverManager
    Driver ddm = new DriverImpl(DriverImpl.DEFAULT_URL);
    DriverManager.registerDriver(ddm);
    try {
        // register a driver to DbDriverManager
        Driver dreg = new DriverImpl(DriverImpl.DEFAULT_URL);
        DbDriverManager.getDefault().registerDriver(dreg);
        try {
            // create a JDBC driver
            JDBCDriver drv = createJDBCDriver();

            Connection conn, newConn;

            // the drivers registered with DbDriverManager have the greatest priority
            conn = DbDriverManager.getDefault().getConnection(DriverImpl.DEFAULT_URL, new Properties(), drv);
            assertSame(dreg, ((ConnectionEx)conn).getDriver());
            // also test the getSameDriverConnection() method
            newConn = DbDriverManager.getDefault().getSameDriverConnection(conn, DriverImpl.DEFAULT_URL, new Properties());
            assertSame(((ConnectionEx)conn).getDriver(), ((ConnectionEx)newConn).getDriver());

            // if nothing registered, try to load a driver from the JDBCDriver URLs 
            DbDriverManager.getDefault().deregisterDriver(dreg);
            conn = DbDriverManager.getDefault().getConnection(DriverImpl.DEFAULT_URL, new Properties(), drv);
            assertNotSame(dreg, ((ConnectionEx)conn).getDriver());
            assertNotSame(ddm, ((ConnectionEx)conn).getDriver());
            // also test the getSameDriverConnection() method
            newConn = DbDriverManager.getDefault().getSameDriverConnection(conn, DriverImpl.DEFAULT_URL, new Properties());
            assertSame(((ConnectionEx)conn).getDriver(), ((ConnectionEx)newConn).getDriver());

            // if no JDBCDriver, try DriverManager
            conn = DbDriverManager.getDefault().getConnection(DriverImpl.DEFAULT_URL, new Properties(), null);
            assertSame(ddm, ((ConnectionEx)conn).getDriver());
            // also test the getSameDriverConnection() method
            newConn = DbDriverManager.getDefault().getSameDriverConnection(conn, DriverImpl.DEFAULT_URL, new Properties());
            assertSame(((ConnectionEx)conn).getDriver(), ((ConnectionEx)newConn).getDriver());
            
            // test if getSameDriverConnection() throws IAE when passed a conn not obtained from DbDriverManager
            conn = dreg.connect(DriverImpl.DEFAULT_URL, new Properties());
            try {
                DbDriverManager.getDefault().getSameDriverConnection(conn, DriverImpl.DEFAULT_URL, new Properties());
                fail();
            } catch (IllegalArgumentException e) {
                // ok
            }
        } finally {
            DbDriverManager.getDefault().deregisterDriver(dreg);
        }
    } finally {
        DriverManager.deregisterDriver(ddm);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:57,代码来源:DbDriverManagerTest.java

示例15: tearDown

import java.sql.DriverManager; //导入方法依赖的package包/类
@Override
@After
public void tearDown() throws SQLException {
    DriverManager.deregisterDriver(new MockDriver());
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:6,代码来源:TestValidationQueryTimeout.java


注:本文中的java.sql.DriverManager.deregisterDriver方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。