积累,创造,分享!

BlogJava 首页 新随笔 联系 聚合 管理
  25 Posts :: 13 Stories :: 26 Comments :: 0 Trackbacks

昨晚有幸进入央视演播1号大厅欣赏了梦想中国9进6的现场直播,的确精彩,比看电视感觉好多了。只是持续时间太长,从7点多一直到11点。搞得今天上班还困困的,好了,闲话少说。

我们在用JNDI来获取数据源已经不是什么新鲜事了,EJB当中的更是少不了这个东西。在看petstore时由JNDINames这个类还发现了原来JNDI所指的资源工厂不仅仅局限于以上这两种类型,我们自己定义的一些工厂类其实也可以指定,其实这也是不难想到的,但在实践过程中却还从未考虑到过。过程也不复杂。就拿petstore为例,只需在web-inf当中加入:

1<env-entry>
2    <description>This Entry Provides the name for the CatalogDAO Implementation Class so the Fast Lane Pattern may be used</description>
3    <env-entry-name>param/CatalogDAOClass</env-entry-name>
4    <env-entry-type>java.lang.String</env-entry-type>
5    <env-entry-value>com.sun.j2ee.blueprints.catalog.dao.GenericCatalogDAO</env-entry-value>
6</env-entry>
7


然后在CatalogDAOFactory类当中轻松几句。

InitialContext ic = new InitialContext();

String className 
= (String) ic.lookup(JNDINames.CATALOG_DAO_CLASS);

catDao 
= (CatalogDAO) Class.forName(className).newInstance();


便获得了工厂类的具体实例GenericCatalogDAO。这样岂不也来得痛快!

posted on 2005-10-09 10:46 nighthawk 阅读(838) 评论(2)  编辑  收藏

Feedback

# re: 由Petstore想到JNDI的一种用法 2005-10-09 14:07 Ivan Chen
看不出这种用法有什么好处,用 <context-param>还来得直接点。  回复  更多评论
  

# re: 由Petstore想到JNDI的一种用法 2005-10-10 15:04 nighthawk
当然。
这也只是一种可以借鉴的手段。:)  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: