当我们确定一个数据源不会再被使用的时候,可以将它删除,如示例13-7所示。
【程序源代码】
1 // ==================== Program Description ==========================
2 // 程序名称:示例13-7 : DeleteDataSource.java
3 // 程序目的:删除数据源
4 // ==============================================================
5 import java.util.Hashtable ;
6 import javax.naming.* ;
7 import java.sql.* ;
8 import javax.sql.* ;
9
10 public 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()方法的参数就是与数据源绑定的名称。