JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发.docxVIP

JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发

客户端(xxxClient)要调用EJB,它需要通过JNDI去寻找EJB的存根代理对象下面是一个简单的EJBClient.java代码packagecom.zuijiajiao.Servlab.HelloWorld.test;importjava.util.Properties;importjavax.naming.InitialContext;importjavax.naming.NamingException;importcom.zuijiajiao.Servlab.HelloWorld.HelloWorld;publicclassEJBClient {publicstaticvoid main(String[] args) {Properties props = newProperties();props.setProperty(java.naming.factory.inital,org.jnp.interfaces.NamingContextFactory);props.setProperty(java.naming.provider.url, localhost:1099);try {InitialContextctx = newInitialContext(props);HelloWorld helloWorld = (HelloWorld) ctx.lookup(HelloWorldBean/remote);System.out.println(helloWorld.sayHello(电子科大));} catch (NamingExceptione) {// TODO: handle exceptionSystem.out.println(e.getMessage());}}}其中,红色突出部分代码就是用于设置JNDI的上下文信使。props.setProperty(java.naming.factory.inital,org.jnp.interfaces.NamingContextFactory);这句代码用于设置JNDI的链接工厂,第一个参数,是固定的写法,有JNDI规范所规定,第二个参数就是JBoss的链接工厂;于是,JNDI通过这个链接工厂就可以和JBoss进行通信了;props.setProperty(java.naming.provider.url, localhost:1099);这句代码用于设置命名服务器的链接URL第一个参数是固定的写法,有JNDI规范所规定,第二个参数就是JBoss的连接字符串JNDI通过JBoss的连接字符串就可以知道JBoss它所在的地址,还有它所使用的端口号如果访问不同的服务器,那两句代码设置的参数值也是不一样的设置完JNDI的上下文信息后,就可以调用它的lookup方法,根据EJB的JNDI名称(HelloWorldBean/remote),去寻找与这个名称绑定(Bind)的EJB代理存根对象,找到代理存根对象之后,他就可以返回到客户端(Client)。在客户端,通过接口文件去引用这个代理存根对象HelloWorld helloWorld = (HelloWorld) ctx.lookup(HelloWorldBean/remote);通过这个这个代理对象(helloWorld)就可以调用EJB的业务方法。疑问:如何知道EJB的JNDI名称?速度当EJB部署到JBoss应用服务器的时候,JBoss服务器可以为EJB默认生成一个JNDI名称默认生成JNDI名称的规则注意事项:Properties props = newProperties();props.setProperty(java.naming.factory.inital,org.jnp.interfaces.NamingContextFactory);props.setProperty(java.naming.provider.url, localhost:1099);用这种方式来设置JNDI的上下文信息,属于“硬编码”设置,也可以通过一个属性文件(xxx.properties)来设置JNDI的上下文信使通过属性文件来设置JNDI的上下文信使的方法:在项目的类路径下建立一个名叫JNDI的属性文件(JNDI.properties)(也可以在源目录(src)下建,因为在源目录下建也是可以编译到项目的类路径下)JNDI属性文件代码如下java.naming.factory.inital = org.jnp.interfaces.NamingContextFactoryjava.naming.provider.url = localhost:1099有了属性文件之后,代码就可以这样写了packagecom.zuiji

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档