JNDI论述

来源 :大众商务·下半月 | 被引量 : 0次 | 上传用户:robinleslie
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。分布式计算环境通常使用命名和目录服务来获取共享的组件和资源。命名和目录服务将名称与位置、服务、信息和资源关联起来。命名服务提供名称—对象的映射。目录服务提供有关对象的信息,并提供定位这些对象所需的搜索工具。有许多命名和目录服务实现,并且到它们的接口是不同的。Java命名和目录接口或JNDI提供了一个用于访问不同的命名和目录服务的公共接口。因此,了解JNDI在开发一个EJB应用程序中是至关重要的。另外,JDBC可以用JNDI来访问一个关系数据库。
  【关键词】JNDI;Java EE
  中图分类号:TP18 文献标识码:A 文章编号:1009-8283(2009)03-0105-01
  
  1 JNDI的由来
  说到JNDI的由来就要先提下Java EE。Java EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。Java EE最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。Java EE原名为J2EE,是Sun公司在1997年度Java One大会上发布的。其目的是未开发和部署企业级Web应用制定标准。通过Java EE,Java语言与工具得以延伸到那些复杂的、多层的电子商务和企业级应用当中。
  由于Java EE应用的组件可以独立运行,而且经常是在不同设备上运行,因此客户端和应用服务器层代码必须以某种方式查找和参考其他代码和资源。而实现这点就需要JNDI的帮助了。JNDI可以用于当前各种类型的命名系统。JNDI也可以用于命名和引用位于一个特定的命名系统之外的对象。在一个命名服务可以被利用之前,客户需要获取初始JNDI上下文的句柄。名字现在可以绑定到对象,对象可以利用标准的JNDI接口相对于这个上下文进行查找。
  
  2 JNDI程序包
  javax.naming:命名操作;
  javax.naming.directory:目录操作;
  javax.naming.event:在命名目录服务器中请求事件通知;
  javax.naming.ldap:提供LDAP支持;
  javax.naming.spi:允许动态插入不同实现。
  利用JNDI的命名与服务功能来满足企业级APIs对命名与服务的访问,诸如EJBs、JMS、JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服务。
  
  3 常用的JNDI操作
  void bind(String sName,Object object);――绑定:把名称同对象关联的过程
  void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
  void unbind(String sName);――释放:用来把对象从目录中释放出来
  void lookup(String sName,Object object);――查找:返回目录总的一个对象
  void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
  NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
  
  4 JNDI与JDBC
  JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个纪录,同时返回数据库连接建立所必须的信息。
  代码示例:
  try{
  Context cntxt = new InitialContext();
  DataSource ds = (DataSource) cntxt.lookup("jdbc/dpt");
  }
  catch(NamingException ne){
  ...
  }
  
  5 JNDI与JMS
  消息通信是软件组件或应用程序用来通信的一种方法。JMS就是一种允许应用程序创建、发送、接收、和读取消息的JAVA技术。
  代码示例:
  try{
  Properties env = new Properties();
  InitialContext inictxt = new InitialContext(env);
  TopicConnectionFactory connFactory = (TopicConnectionFactory) inictxt.lookup("TTopicConnectionFactory");
  ...
  }
  catch(NamingException ne){
  ...
  }
  访问特定目录:举个例子,人是个对象,他有好几个属性,诸如这个人的姓名、电话号码、电子邮件地址、邮政编码等属性。通过getAttributes()方法
  Attribute attr =directory.getAttributes(personName).get("email");
  String email = (String)attr.get();
  通过使用JNDI让客户使用对象的名称或属性来查找对象:
  foxes = directory.search("o=Wiz,c=US","sn=Fox",controls);
  通过使用JNDI来查找诸如打印机、数据库这样的对象,查找打印机的例子:
  Printer printer = (Printer)namespace.lookup(printerName);
  printer.print(document);
  浏览命名空间:
  NamingEnumeration list = namespace.list("o=Widget,c=US");
  while (list.hasMore()) {
  NameClassPair entry = (NameClassPair)list.next();
  display(entry.getName(),entry.getClassName());
  }
  
  参考文献:
  [1] http://java.sun.com/products/jndi/examples.html
  [2] http://java.sun.com/products/jndi/serviceproviders.html
其他文献
【摘要】粮食作为一种基础性战略资源,对一国经济的发展和社会稳定有着举足轻重的作用,而目前我国面临着大量粮库空置、粮食供给紧张、物价上涨、通货膨胀的压力,国际上由于生物燃料的发展对粮食需求的增长,全球面临着粮食危机。作为一个有13亿人口的大国,必须立足于国内,保证粮食的有效供给意义重大,从长远来看我国面临着粮食有效供给不足的问题。  【关键词】粮食;有效供给;供给不足
期刊
滇西草袋饭距今已有1300年的历史,像这样极具民族特色的老字号小吃,是投资者争相开发的香饽饽,城市中的人们很渴望见到和吃到这土香土味的农家饭。   “谷木香草袋饭”,采用泰国香米、广式腊肠、香菇、虾仁等原材料,结合传统烹饪手艺,不断推陈出新,同时借鉴了日本寿司的做法精华,清馨不腻口,好吃有营养。草袋饭的“田园式”包装,十分抢眼!没有人会忽视她的存在,尝鲜者会蜂拥而至!草袋饭讲究的是“少而精”每一次
期刊
耍猴斗鸡,对于您来说肯定不足为奇,可您见过敲着铜锣让野猪表演的吗?有人说他这是在让野猪作秀,可他却称这正是他的赚钱武器!    走投无路,门外汉与野猪结缘    崔刚的父亲原来经营着一个食品厂。2006年,崔刚子承父业,从父亲手里接管了这个食品厂,由于设备陈旧,生产线每天都会随产品产出近千斤的下脚料,一年下来就要白白浪费几十万元,这让本来就处于激烈竞争中的食品厂生存更加艰难,为了减少损失,崔刚不得
期刊
“我花1.3万元钱租下一间店面,还花了2000元盘下店里的饰品。可就在我的饰品店开业这天,有个男的来到店里,说这间店面的租期已到,限我三天内腾空。我和他理论了半天,才知道之前将店面租给我的那名男子是假房东。”方小姐谈起自己近日的遭遇,很是气愤。   方小姐来义乌打工多年,一直从事饰品加工行业。由于对饰品的生产流程及销售渠道较为了解,便萌生自己开店经营的念头。一个多星期前,她在义乌国际商贸城一期市场
期刊
浅萌是一位刚从大学美术系毕业的女孩,对于设计服装的布料和花样颇有些研究,准备涉足这一行。只是,初入此行是非常困难的,因为不论是服装设计师还是服装制作厂家,都有自己固定的供应商。   一次,浅萌拿着一堆自己呕心沥血设计的作品,来到一家著名的服装设计公司。助理设计师本想打发她走,可是见她一副渴求的模样,便于心不忍地对她说:“好吧,我拿进去给我们的设计师看一下。”过了一会儿,助理设计师出来对她说:“设计
期刊
上海的创业者史小姐,最近遇到了一件怪事。经营网店的她,在一次交易中不但没赚到钱,更糟糕的是,竟然成了“骗子”,这是怎么回事呢?  史小姐在某网站上开了一家网店,专门拍卖二手物品。一次,史小姐在网店上挂了一个迷你音箱,供顾客竞拍,起拍价格是100元。让史小姐没想到的是,刚公布信息就被一位顾客以500元的价格拍得。  正当史小姐准备给这位购买者发货时,对方在网上给史小姐留言,声称自己一不小心汇了500
期刊
“酒香不怕巷子深”这句话在如今早已行不通了,在非市场经济时代,因为商品十分匮乏,竞争并不激烈,所以只要是好酒,就很容易得到顾客的认可。而当今时代却大不相同,多数商品都面临“买方市场”,好酒太多,差酒也太多,在良莠不齐的品牌中如何脱颖而出?做广告,不失为一个便捷的途径。  但放眼国内市场,不重视广告宣传的企业比比皆是,中小型企业尤其如此。诚然,对于正处于发展阶段的中小企业而言,拿出大笔的资金用于广告
期刊
【摘 要】随着经济增长和资源空心化问题的不断升华,逐渐形成和提出了绿色GDP理论。我国在绿色GDP核算的实践方面也进行了有益的探索,但我国在开展绿色GDP核算过程中面临着一定困境,本文列举了开展绿色GDP核算面临的困境,并提出了相应的对策。  【关键词】绿色GDP;核算;困境;对策  中图分类号:F28 文献标识码:A 文章编号:1009-8283(2009)03-0029-01    绿色GDP
期刊
【摘 要】本文以世界上最大的冰淇淋品牌“和路雪”为例,主要通过分析中国市场的复杂性,来讨论国外品牌在中国市场如何进行品牌定位与中国市场相融合,进一步在中国市场树立自己的品牌形象开拓市场。  【关键词】国外品牌;中国市场;品牌定位  中图分类号:F830  文献标识码:A  文章编号:1009-8283(2009)03-0026-01    1 背景  和路雪是世界上销量最大的冰淇淋生产商,并且,它
期刊
【摘 要】 本文运用Cornish-Fisher与标准t(d)分布拟合法,选取上证综合指数的1210个样本数据与深圳成份指数的1210个样本数据进行实证分析,结果表明深圳成份指数的VaR绝对值大于上证综合指数,深圳成份指数的风险较大  【关键词】VaR;标准t(d)分布拟合法; Cornish-Fisher方法;  中图分类号:F830  文献标识码:A  文章编号:1009-8283(2009)
期刊