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

时间:2019-05-15 09:35:42下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发》。

第一篇: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”, try {

InitialContextctx = newInitialContext(props);HelloWorld helloWorld =(HelloWorld)ctx.lookup(“HelloWorldBean/remote”);

“localhost:1099”);System.out.println(helloWorld.sayHello(“电子科大”));} catch(NamingExceptione){

} // TODO: handle exception

System.out.println(e.getMessage());其中,红色突出部分代码就是用于设置JNDI的上下文信使。

props.setProperty(“java.naming.factory.inital”,这句代码用于设置JNDI的链接工厂,第一个参数,是固定的写法,有JNDI规范所规定,第二个参数就是JBoss的链接工厂; 于是,JNDI通过这个链接工厂就可以和JBoss进行通信了;

props.setProperty(“java.naming.provider.url”, “localhost:1099”);这句代码用于设置命名服务器的链接URL 第一个参数是固定的写法,有JNDI规范所规定,第二个参数就是JBoss的连接字符串 JNDI通过JBoss的连接字符串就可以知道JBoss它所在的地址,还有它所使用的端口号

“org.jnp.interfaces.NamingContextFactory”);如果访问不同的服务器,那两句代码设置的参数值也是不一样的设置完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.NamingContextFactory java.naming.provider.url = localhost:1099

有了属性文件之后,代码就可以这样写了

packagecom.zuijiajiao.Servlab.HelloWorld.test;

importjava.util.Properties;

importjavax.naming.InitialContext;importjavax.naming.NamingException;

importcom.zuijiajiao.Servlab.HelloWorld.HelloWorld;

publicclassEJBClient {

}

原理:

InitialContextctx = newInitialContext();

在new InitialContext这个对象的时候,在InitialContext的构造函数内部他在项目的类路径下寻找这个属性文件 publicstaticvoid main(String[] args){

} try {

InitialContextctx = newInitialContext();HelloWorld helloWorld =(HelloWorld)ctx.lookup(“HelloWorldBean/remote”);

System.out.println(helloWorld.sayHello(“电子科大”));} catch(NamingExceptione){

} // TODO: handle exception

System.out.println(e.getMessage());

下载JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发(共5篇)word格式文档
下载JavaWEB经验总结之EJB3.0与JNDI的实际结合使用及EJB的客户端开发(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐