`
jackle_liu
  • 浏览: 147792 次
文章分类
社区版块
存档分类
最新评论

jboss4.x下的第一个ejb2.0程序(4)---从当前容器中调用entityBean

阅读更多
前面的Hello.java程序中有这么一段:
        Properties environment = new Properties();
        environment.put(Context.PROVIDER_URL, "localhost:1099");
        environment.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
        environment.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
        .....
        initialContext = new InitialContext(environment);      
      按照我的理解这段程序相当于从"localhost"这个容器中取得当前的环境变量.既然是本地的为什么还要把environment参数传进去呢.
直接initialContext = new InitialContext();  不行吗?其实是可以的,只要修改ejb-jar.xml:
<!---->
<!---->http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar></ejb-jar>
 <description></description>
  
 
 <display-name></display-name>Generated by XDoclet
 <enterprise-beans></enterprise-beans>
  <!---->
  <session></session>
   <description></description>
    
   
   <display-name></display-name>Name for Hello
   <ejb-name></ejb-name>HelloWorld
   <home></home>com.rox.HelloHome
   <remote></remote>com.rox.HelloWorld
   <ejb-class></ejb-class>com.rox.Hello
   <session-type></session-type>Stateless
    <transaction-type> </transaction-type> Container
   
   <ejb-ref></ejb-ref>
    <ejb-ref-name></ejb-ref-name>com.rox.HelloEntityHome
    <ejb-ref-type></ejb-ref-type>Entity
    <home></home>com.rox.HelloEntityHome
    <remote></remote>com.rox.HelloEntityInterface
    <ejb-link></ejb-link>HelloEntityInterface
   
  
  <!---->
  <!---->
  <entity></entity>
   <description></description>
    
   
   <display-name></display-name>Name for HelloEntity
   <ejb-name></ejb-name>HelloEntityInterface
   <home></home>com.rox.HelloEntityHome
   <remote></remote>com.rox.HelloEntityInterface
   <ejb-class></ejb-class>com.rox.HelloEntity
    <persistence-type></persistence-type> Container
    <prim-key-class></prim-key-class> java.lang.Integer
   <reentrant></reentrant>False
   <cmp-version></cmp-version>2.x
   <abstract-schema-name></abstract-schema-name>HelloEntity
   <cmp-field></cmp-field>
    <field-name></field-name>helloNo
   
   <cmp-field></cmp-field>
    <field-name></field-name>helloName
   
    <primkey-field></primkey-field> helloNo
   <!---->
  
  <!---->
  <!---->
  <!---->
 
 <!---->
 <!---->
 <!---->
 <assembly-descriptor></assembly-descriptor>
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
  <!---->
 

注意红色的内容,那就是问题的关键.至于其中的原理,我仍在思考.
 
改变了ejb-jar.xml相应的需要修改Hello.java:
将原来的:
Object obj = initialContext.lookup("ejb/HelloEntity");
替换为:
Object obj = initialContext.lookup("java:comp/env/"+HelloEntityHome.class.getName());
 
按照我的理解comp是容器,env是环境,意思是从当前环境中lookup "HelloEntityHome.class.getName()".
分享到:
评论

相关推荐

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...

    EJB2.0一个完整的Helloworld

    在"一个完整的Helloworld"示例中,我们将深入理解EJB 2.0的基础知识,包括Bean的类型、接口、生命周期管理以及如何在实际项目中部署和运行。 ### 1. EJB Bean类型 EJB 2.0主要包括三种类型的Bean: - **Session ...

    EJB3.0 实例教程 -- 切片1

    第一章 前言......4 1.1 本教程适合人群4 1.2 联系作者..4 第二章运行环境配置4 2.1 下载与安装........4 2.2 运行一个EJB3例子.......9 2.3 在独立的TOMCAT 中调用EJB....9 2.4 发布在JBOSS集成环境中的WEB应用调用...

    jboss ejb 3.zip

    标题"jboss ejb 3.zip"和描述中的"jboss ejb 3.zip"都指向同一个主题,即JBoss企业级JavaBean(EJB)3.0版本的相关内容。JBoss是Red Hat公司的一个开源应用服务器,而EJB是Java平台上用于构建可扩展、分布式、安全和...

    EJB3.0 实例教程 -- 切片2

    第一章 前言......4 1.1 本教程适合人群4 1.2 联系作者..4 第二章运行环境配置4 2.1 下载与安装........4 2.2 运行一个EJB3例子.......9 2.3 在独立的TOMCAT 中调用EJB....9 2.4 发布在JBOSS集成环境中的WEB应用调用...

    Jboss下开发ejb应用之一实体bean的应用

    在IT行业中,Java企业版(Java EE)是一个广泛使用的平台,用于构建分布式、多层的企业级应用程序。EJB(Enterprise JavaBeans)是Java EE的重要组成部分,它提供了一种规范来创建可部署在服务器上的组件,以实现...

    EJB3.0中文 版

    - **JBOSS集成环境中的WEB应用调用EJB**: - 在同一服务器上配置JBOSS和Tomcat以实现无缝通信。 #### 3. 开发前的准备 - **熟悉JBOSS目录结构**: - `bin`:包含启动脚本。 - `client`:用于客户端连接的JAR...

    Jboss下hibernate整合EJB

    在Java企业级应用开发中,EJB(Enterprise JavaBeans)和Hibernate是两个非常重要的组件。EJB主要用于构建可部署在Java EE服务器上的分布式组件,而Hibernate是一个强大的对象关系映射(ORM)框架,解决了Java与...

    jboss+myeclipse+ejb案例

    【ejb】是一个Java企业级应用开发的重要组件,全称为Enterprise JavaBeans,它提供了一种在分布式环境中构建可复用、安全和事务处理的应用服务框架。ejb是Java EE(Java Platform, Enterprise Edition)规范的一部分...

    jboss的安装与ejb的工程的配置(原创)

    - 接着,在“MyEclipse”菜单下的“Servers”选项中找到“JBoss”子菜单,选择“JBoss4.x”进行相应的配置。特别注意: - 需要确保路径正确指向jBoss的目录,特别是“bin”目录,系统会自动识别并加载此目录下的...

    jboss下部署ejb详细步骤

    EJB是Java EE规范的一部分,它提供了一种标准的方式来实现业务逻辑,分为三种主要类型:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-Driven Beans)。会话Bean用于处理客户端请求...

    EJB3-JBOSS7-分布式事务示例

    EJB3(Enterprise JavaBeans 3.0)是Java EE平台中的一个核心组件,它提供了一种标准的方式来创建可部署在服务器上的分布式、面向服务的企业级应用程序。EJB3引入了许多改进,包括简化API、注解驱动的开发和依赖注入...

    jboss7 + EJB3

    EJB3是Java EE平台中的一个核心组件,它极大地简化了企业级Java组件的开发,通过注解驱动和POJO(Plain Old Java Object)模型,降低了EJB的复杂性。 1. **EJB3概述** EJB3是Java EE6规范中的重要部分,它引入了...

    JBoss3.0下配置和部署EJB简介

    2. 测试工具:JBoss提供了一个名为jbossclient的命令行工具,可以用于远程调用EJB进行测试。 七、EJB与Web应用集成 1. JSP和Servlet:在Web应用中,可以通过JSP和Servlet来调用EJB,实现前端和后端的交互。 2. Web...

    EJB3.0实例教程

    2.2 运行一个EJB3例子..................................................................................................................................................9 2.3 在独立的TOMCAT 中调用EJB.......

    jboss ejb3.0开发介绍

    - 创建一个测试类(例如 `EjbTest`),用于测试实体 Bean 的功能。 - 导入必要的包(如 `javax.naming.InitialContext`、实体 Bean 接口等)。 - 使用 JNDI 查找实体 Bean 的远程接口,并调用其方法进行测试。 ...

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

    总结,Jboss下的EJB应用开发,特别是会话Bean的运用,是Java EE开发中的重要技能。通过理解EJB的基本概念,熟悉Jboss环境配置,以及掌握会话Bean的编写、部署和测试,开发者可以构建高效、可靠的企业级应用程序。在...

    EJB3.0容器模型的WEB服务-WebService

    4. **部署与调用**:EJB 3.0的Web服务可以通过应用程序服务器(如JBoss, GlassFish, WebLogic等)进行部署,并通过标准的HTTP/HTTPS协议进行调用。 **源码与工具** 在实际开发中,了解EJB 3.0源码可以帮助理解其...

Global site tag (gtag.js) - Google Analytics