`
leon.s.kennedy
  • 浏览: 111226 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

开发EJB的客户端

    博客分类:
  • ejb3
 
阅读更多

因为EJB属于业务层,通常它要被客户端所调用

客户端类型可以是:J2SE J2EE J2ME

 

才用普通的JAVA类开发客户端:

新建 new一个Class 带有main()方法

 

客户端要调用EJB是要先通过JNDI去寻找EJB的承担对象

JNDI是用于访问命名目录的API,也是JAVA EE中的规范

 

开发EJB的客户端

这里编写的客户端程序完全可以部署在另外一台计算机上,只需要修改其中连接的服务器IP地址和启动JBOSS时绑定相应IP地址即可,这正事EJB的远程调用特性。
在37行返回的helloWorld实例对象并不是我们在服务器端编写的HelloworldBean,而是一个也实现了HelloWorld接口的代理对象,这个代理对象最终远程调用我们自己编写的HelloWorldBean,在第37行后加入了一行代码:System.out.println(helloWorld.getClass().getName()); 即可看到这个代理对象的类名

 

当EJB发布到JBOSS时,如果我们没有为它指定全局JNDI名称或修改过其默认EJB名称,JBOSS就会按照默认的命名规则为EJB生成全局JNDI名称,默认的命名规则如下:

把EJB应用打包成后缀为*.jar的模块文件,默认的全局JNDI名称是:
本地接口:EJB-CLASS-NAME/local
远程接口:EJB-CLASS-NAME/remote
EJB的接口实现类名(不加包名)
例:把HelloWorld应用打包成HelloWorld.jar文件,他的远程接口JNDI名称是:
HelloWorldBean/remote

 

把EJB作为模块打包进后缀名*.ear的JAVA EE企业应用文件,默认全局JNDI名称是:
本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
EAR-FILE-BASE-NAME为ear文件的名称,EJB-CLASS-NAME作为EJB的非限定类名
例:把HelloWorld应用打包成HelloWorld.ear的企业应用文件,他的远程接口JNDI名称是:
HelloWorld/HelloWorldBean/remote

 

----------------------------------------------------------------

通过属性文件,设置JNDI的上下文信息:

把硬编码的代码,放到配置文件中

Properties props = new Properties();

props.setProperty("java.naming.factory.initial"
 ,"org.jnp.interfaces.NamingContextFactory");

props.setProperty("java.naming.provider.url", "localhost:1099");

就可以注释掉了

 

在项目src下新建File 名称为:jndi.properties

内容:

java.naming.factory.initial = org.jnp.interfaces.NamingContextFactory
java.naming.provider.url = localhost:1099

保存,启动JBOSS后,运行客户端也可执行

 

在InitalContext cts = new InitalContext(); 时,其构造方法中默认从类路径下找jndi.properties文件

 

HelloWorld helloWorld = (HelloWorld)cts.lookup("HelloWorldBean/remote");

这句可能会报错,解决方案是:

查看EJB的JNDI

进入JBOSS的管理后台 http://localhost:8080/

开发EJB的客户端

点JMX Console,找到jboss,点service = JNDIView

开发EJB的客户端

这个服务提供了一个list()方法,点Invoke按钮,会列出JBOSS里面的资源

开发EJB的客户端
开发EJB的客户端

EJB部署后,生成的JNDI是在全局JNDI中(Global JNDI Namespace)

开发EJB的客户端

在其中找到EJB的JNDI名称,如果找到了则发布成功

 

也有可能是jar包出了问题,重新导jar包

分享到:
评论

相关推荐

    2.开发EJB的客户端

    开发EJB客户端时,首先需要设置开发环境。这通常包括安装JDK、集成开发环境(IDE,如Eclipse或IntelliJ IDEA)以及EJB兼容的应用服务器(如WildFly、TomEE或GlassFish)。确保IDE配置了正确的Java EE版本和应用...

    EJB视频教程 3.开发EJB的客户端 4.把jboss集成进eclipse

    1. **EJB客户端接口**:了解EJB客户端如何与远程服务器上的EJB组件进行交互,包括定义Home接口和Remote接口,以及调用EJB方法的步骤。 2. **JNDI查找**:学习如何通过Java Naming and Directory Interface (JNDI) ...

    使用Eclipse+Jboss+MySql开发EJB

    6. **测试EJB**:可以通过EJB客户端(如Java SE应用或另一个EJB)进行远程调用测试,也可以在Eclipse内使用JUnit进行单元测试。 7. **集成测试**:在完整的应用环境中测试EJB,确保它们能正确地与其他组件(如Web...

    WTP1.5.3 开发ejb步骤

    【WTP1.5.3 开发ejb步骤】 Web Tools Platform (WTP) 是一个由Eclipse基金会维护的开源项目,它为Java Web应用程序和Java EE(企业版)应用程序的开发提供了强大的集成开发环境(IDE)支持。在WTP1.5.3版本中,开发...

    PowerBuilder 9.0 Web开发篇

    EJB(Enterprise JavaBeans)是Java企业级应用程序的组件架构,PowerBuilder能够提供开发EJB客户端的支持,使得PowerBuilder能够更好地适应大型企业级应用的开发需求。 综上所述,《PowerBuilder 9.0 Web开发篇》不仅...

    ejb3.0 第2,3讲-开发第一个无状态会话bean和客户端

    **ejb3.0 第2,3讲 - 开发第一个无状态会话bean和客户端** 在Java企业版(Java EE)中,Enterprise JavaBeans(EJB)是用于构建可扩展、安全和事务处理的服务器端应用程序的核心组件。EJB 3.0是一个重要的版本,它极...

    MyEclipse 7在WebLogic 9.2下开发EJB2范例

    ### MyEclipse 7在WebLogic 9.2下开发EJB2范例解析 #### 环境准备与配置 在开始EJB2的开发之前,首先需要确保开发环境的正确配置。本例中使用的是MyEclipse 7集成开发环境与WebLogic 9.2应用服务器。具体步骤包括...

    Jbuilder2007开发EJB3.0

    《Jbuilder2007开发EJB3.0》这一主题涵盖了Java企业级应用开发的重要技术,主要包括EJB(Enterprise JavaBeans)3.0的三种主要类型:Message Driven Bean、Session Bean和Entity Bean,以及如何利用Jbuilder2007这一...

    appserv-rt.jar

    ejb客户端需要的jar文件,开发ejb客户端是要用的.

    Eclipse开发EJB文档

    ### Eclipse开发EJB文档 #### 一、Session Bean 环境配置及开发过程 **1. 配置编译环境** 在配置EJB开发环境时,需注意EJB 2.0规范所对应的Java环境版本。由于EJB 2.0规范发布时间较早(2001年),其对JDK的要求...

    Eclipse开发EJB_3.0

    Eclipse 开发 EJB 3.0 教程 Eclipse 开发 EJB 3.0 是一个基于 Eclipse 平台的企业级 JavaBean(EJB)开发指南。本教程将指导读者如何使用 Eclipse 创建一个 EJB 3.0 项目,从创建项目到部署到Application Server 的...

    Jboss下开发ejb应用之一会话bean的应用

    本文将围绕“Jboss下开发ejb应用之一会话bean的应用”这一主题,深入探讨如何在Jboss应用服务器上开发和部署会话Bean,以及涉及到的相关工具和源码。 会话Bean是EJB的一种类型,它代表了业务逻辑组件,为客户端提供...

    java 客户端访问EJB

    在Java开发中,EJB(Enterprise JavaBeans)是一种用于构建企业级应用的组件模型,它提供了服务器端的业务逻辑处理。Glassfish是一个开源的应用服务器,支持EJB的部署和运行。本教程主要介绍如何在Java客户端访问...

    图解eclipse+myelcipse开发EJB

    【图解Eclipse+MyEclipse开发EJB】是一篇介绍如何使用Eclipse和MyEclipse集成开发环境来创建和管理Enterprise JavaBeans (EJB)的教程。在开始EJB的开发工作之前,首要任务是配置合适的服务器环境,文中提到了使用...

    开发EJB

    开发EJB,全称Enterprise JavaBeans,是Java平台上的企业级组件模型,主要用于构建可部署在服务器端的分布式应用程序。EJB技术是J2EE(Java 2 Platform, Enterprise Edition)的重要组成部分,提供了诸如事务管理、...

    Myeclipse开发ejb详解教程.zip

    【Myeclipse开发EJB详解教程】 EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的核心组件之一,用于构建可复用的、安全的、事务处理的服务器端业务逻辑。Myeclipse作为一款强大的Java EE集成开发环境,为...

    Eclipse开发EJB3

    总结来说,Eclipse开发EJB3.0涉及了工程配置、数据库连接、实体Bean和Session Bean的创建,以及打包部署和客户端调用等步骤。通过EJB3.0的注解驱动,开发者可以更高效地构建企业级应用,同时享受到Java EE平台提供的...

    EJB应用开发详解

    EJB应用开发详解涵盖了这一技术的各个方面,旨在帮助开发者深入理解和熟练掌握EJB的使用。 **1. EJB概述** EJB是Java EE(Java Platform, Enterprise Edition)的一部分,它提供了一种标准的组件模型,让开发者可以...

Global site tag (gtag.js) - Google Analytics