当我们确定一个数据源不会再被使用的时候,可以将它删除,如示例13-7所示。
【程序源代码】
1// ==================== Program Description ==========================
2// 程序名称:示例13-7 : DeleteDataSource.java
3// 程序目的:删除数据源
4// ==============================================================
5import java.util.Hashtable ;
6import javax.naming.* ;
7import java.sql.* ;
8import javax.sql.* ;
9
10public class DeleteDataSource
11{
12
public DeleteDataSource ()
13
{
14
Hashtable env = new Hashtable();
15
env.put(Context.INITIAL_CONTEXT_FACTORY,
16
"com.sun.jndi.fscontext.RefFSContextFactory");
17
try {
18
Context ctx = new InitialContext(env);
19
20
// 调用unbind()方法解除名称-对象关联
21
ctx.unbind("jdbc/ datasource ") ;
22
ctx.close() ;
23
}
24
catch (Exception ex) {
25
System.err.println(ex.getMessage()) ;
26
}
27
}
28
29
public static void main (String args[]) {
30
new DeleteDataSource () ;
31
}
32}
【程序注解】
我们这里所说的删除数据源是指将它从命名服务中移除,即不再被查询和使用。因此删除数据源是通过调用unbind()方法实现的。我们只需创建一个命名服务的初始上下文(第18行),然后调用其unbind()方法就可以了(第21行)。unbind()方法的参数就是与数据源绑定的名称。(