在分布式开发中,JAVA客户端程序是通过JNDI去查询EJB的,而JNDI的全名是:The Java Naming and Directory Interface。因为JNDI 是一组接口,所以我们只需根据接口规范编程就可以。要通过JNDI 进行资源访问,我们必须设置初始化上下文的参数,主要是设置JNDI 驱动的类名(java.naming.factory.initial)和提供命名服务的URL (java.naming.provider.url)。因为Jndi 的实现产品有很多。所以java.naming.factory.initial 的值因提供JNDI 服务器 的不同而不同,java.naming.provider.url 的值包括提供命名服务的主机地址和端口号。
大家在编程时,最令人气愤的就是EJB程序写好了,而客户端却不知道如何去调用它,一般书上只是介绍一种应用服务器的访问代码其它的不会提到,找这方面资料又比较麻烦,当误大家许多时间和精力,因此我就把已经找到的代码贴出来,方便大家查找。
暂且提供以下三种服务器的代码,今后再慢慢补充吧。
下面是访问Jboss 服务器的 例子代码:
下面是访问Sun ApplicationServer 及glassfish 应用服务器的例子代码:
下面是访问Weblogic10 应用服务器的例子代码:
上面是服务器默认的JNDI命名规则,那么如何修改它呢.
在Jboss 中要自定义JNDI 名称,可以使 用@LocalBinding 和@RemoteBinding 注释,@LocalBinding 注释指定Session Bean 的Local 接口的JNDI 名称, @RemoteBinding 注释指定Session Bean 的Remote 接口的JNDI 名称,下面的代码展示了如何自定义JNDI 名:
在JSP 客户端调用上面EJB 的代码片断如下:
客户端调用EJB 的代码片断如下:
Powered by: BlogJava Copyright © sailor