本文整理汇总了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) {
}
}
}
示例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);
}
}
示例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();
}
示例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;
}
示例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);
}
}
示例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;
}
示例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;
}
示例9: close
import java.sql.DriverManager; //导入方法依赖的package包/类
@Override
public void close() {
try {
DriverManager.deregisterDriver(DriverManager.getDriver(getJdbcUrl()));
} catch (Exception e) {
e.printStackTrace();
}
super.close();
}
示例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));
}
示例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());
}
示例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();
}
示例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);
}
示例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);
}
}
示例15: tearDown
import java.sql.DriverManager; //导入方法依赖的package包/类
@Override
@After
public void tearDown() throws SQLException {
DriverManager.deregisterDriver(new MockDriver());
}