JNDI学习
今天看了关于DAO的文章,下载了一个例子,有点启发,但是还没有研究透,不过也不是一无所获,至少关于jndi的问题稍微明白了一些.
首先,jndi是应用程序和服务器之间的一个桥梁,它可以把在服务器上配置的例如jdbc或jms或url返回给应用程序,应用程序直接转换成需要的对象.
比如,在服务器上配置了一个数据源,jndi name:是ttt,然后在应用程序里,只要通过
lookup("java:comp/env/jdbc/ttt"),然后通过narrow转换就可以得到DataSource对象,然后
通过getConnection()得到与数据库的连接.程序如下:
try{
Object obj = lookup(MovieConstants.MOVIE_NONXA_DATASOURCE_NAME);
ds = (DataSource) narrow(obj, DataSource.class);
conn = ds.getConnection();
}catch (SQLException ex){
//------
}
这样的好处显而易见,如果应用程序换了一个服务器或者平台,我们不需要修改程序,只要更改配置文件,就可以连接到新的数据库了.
参考:http://docs.sun.com/source/817-4164-10/agjava.html