建立你的第一个无状态会话Bean--HelloWorld之二

EJB学习二 我的第一个EJB项目(Eclipse下的EJB开发,与JBoss集成,Ant打包) EJB项目的创建(使用开发工具eclipse) 1、打开eclipse,新建一个普通的Java Project(实际开发使用的是java Project而不是ejb的) 2、点击Next,添加外部的jar包 3、为了方便,可以将jboss-5.1\cliient下的所有jar包全部导入(入门...将就一下...) 4、点击finish完成 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

企业JavaBeansTM学习指南:
建立你的第一个无状态(stateless)会话Bean


  • 关于本学习指南

  • 关于示例

    • 步骤1: 安装企业JavaBeans 服务器
    • 步骤2: 指定企业JavaBeans 远程界面
    • 步骤3: 指定宿主界面
    • 步骤4: 编写企业JavaBean 类
    • 步骤5: 创建ejb-jar 文件
    • 步骤6: 配置DemoBean企业JavaBeans
    • 步骤7: 编写企业JavaBean 客户程序
    • 步骤8: 运行客户程序


3. 如何建立你的第一个无状态(stateless)会话Bean



步骤 1: 安装企业 JavaBeans服务器

企业JavaBeans 组件在企业JavaBeans 容器内运行,后者是由企业JavaBeans 服务器厂商提供的。下面的说明将有助于你下载并安装一个BEA Weblogic Tengah 服务器,HelloWord Bean 将运行在该服务器上。

注意:以下的安装步骤是为 Sun Solaris 提供的, 但它与在 Windows NT 上的安装过程类似。

1)从 BEA WebLogic 的网址下载 BEA WebLogic's Tengah 服务器: http://www.weblogic.com/download.html

2)使用 jar 或 unzip 解压缩。在本书中,假定 Tengah 被安装在 /export 目录下, 例如, /export/weblogic.

3)从Java Development Kit for Solaris TM 的网址下载最新版Java开发工具包JDK TM : http://www.sun.com/solaris/java

4)在服务器主机上设置你的类路径(CLASSPATH):
添加 weblogic/classes 和 weblogic/lib/weblogicaux.jar到Java CLASSPATH上。确认 "." 或当前目录也在CLASSPATH上。 在LD_LIBRARY_PATH 上添加weblogic/lib/solaris http://www.sun.com/solaris/java 5)编辑 BEA WebLogic 的属性文件 weblogic.properties 设置系统口令, weblogic.password.system

6)用startTengah.sh 脚本启动 Tengah 服务器.
在建立并配置示例 bean 之后, 要检查企业 JavaBeans 的 bean 是否已被正确配置, 可通过服务器命令行窗口来检查,或通过打开控制台以检查在"分布式对象"下的"Enterprise JavaBeans Transaction Server",你将看到 DemoBean 已被配置,也可以监测它的活动。

步骤2: 指定企业JavaBeansTM 远程界面

在这一部分,你将创建企业JavaBeans 远程界面。
  • 请阅读下面的解释;
  • 将代码样本存储到指定的文件里。

远程界面是企业 JavaBeans 的客户端视图,企业JavaBeans 开发人员的任务是:

用 Java TM RMI 语法声明该界面。生成该界面的代码是企业JavaBeans的容器工具供应商的责任。

注意: 在这个界面中,对所能够指定的内容有一定的限制。完整的限制清单,请参见Enterprise JavaBeans Specification(企业JavaBean规范)第16节。重要的一点是,所有使用的对象、参数、返回值和异常在"Java to IDL Mapping Specification(Java对IDL的映射规范)"中都应该是有效的类型。 为简单的DemoBean编写的远程界面源程序如下:







 /**



  * Demo -- this is the "remote" interface of



  * our enterprise JavaBean, it



  * defines only one simple method called



  * demoSelect(). As this is meant to be



  * the simplest of examples demoSelect()



  * never goes to a database, it just



  * returns a string



  *



  * Note: The implementation of this interface is



  * provided by the container tools



  * but the demoSelect() method and any



  * other methods in this interface



  * will need to have equivalent



  * implementations in the demobean.java



  * which is supplied by the bean writer



  * ..i.e., you!



  */



  



  package ejb.demo;



  



  import java.rmi.RemoteException;



  import java.rmi.Remote;



  import javax.ejb.*;



  



  public interface Demo extends EJBObject, Remote {



  



   // NB this simple example does not even do a



   // lookup in the database



  public String demoSelect() throws RemoteException;



  



  }

步骤3: 指定宿主界面 (Home Interface)

一个会话 bean 的宿主界面提供了一种机制,用这种机制,容器可以代表客户端创建新的会话 bean。就象远程界面一样,宿主界面是由 bean 的开发人员用RMI语法声明的,并同样由容器供应商所提供的工具来实现。它基本上不需要程序员进行编码----所要作的仅是声明性的工作。

1) 阅读如下宿主界面的有关描述并注意在代码片段中的注释。
2) 将示例源代码存储到指定文件,并进行下一步。

这里是DemoBean EJB的源代码:



  /**



   * DemoHome.java - This is the Home interface it must



   * extend javax.ejb.EJBHome and define one or more



   * create() methods for the bean.



   *



   * Note: The implementation of this interface is 



   * generated by the container tools. 



   */ 







   package ejb.demo;







   import javax.ejb.*;



   import java.rmi.Remote;



   import java.rmi.RemoteException;



   import java.util.*;







  /**



   * This interface is extremely simple it declares only



   * one create method.



   */



   public interface DemoHome extends EJBHome {







    public Demo create() throws CreateException, 



                                RemoteException;



   



   }

步骤4: 编写企业JavaBeanTM 类

这一步将向你演示如何编写应用程序代码(事务逻辑)。到现在为止,你已经声明了容器工具将为其生成代码的界面,但是,这里演示的是JavaBean的功能是如何编码的。

关于此bean的实现值得注意的一点是,几乎没有什么代码需要你来编写。大部分代码都简单地通过企业JavaBeans 规范来实现。很容易想见这里有许多模板和工具,它们为你完成大部分实现工作。这与GUI beans 环境中所使用的工具的演变过程是相似的。

1)阅读如下 DemoBean 代码的描述并注意在示例代码中的注释,特别是那些在标题"Business Logic"下面的注释。

2)将示例源代码存储到指定文件,并转向下一步。

这里是 DemoBean 企业JavaBeans DemoBean.java 的源代码:



    /**



    * DemoBean -- This is implemented by the EnterPrise



    * Bean author This class must extend



    * javax.ejb.SessionBean and implement



    * the methods in this interface as well as providing



    * the implementation of the business methods.



    *



    */



    package ejb.demo;



  



    import javax.ejb.*;



    import java.io.Serializable;



    import java.util.*;



    import java.rmi.*;



  



    public class DemoBean implements SessionBean {



     static final boolean verbose = true;



  



     private transient SessionContext ctx;



     private transient Properties props;



  



     // Implement the methods in the SessionBean



     // interface



     public void ejbActivate() {



     if (verbose)



     System.out.println("ejbActivate called");



     }



  



     public void ejbRemove() {



     if (verbose)



     System.out.println("ejbRemove called");



     }



  



     public void ejbPassivate() {



     if (verbose)



     System.out.println("ejbPassivate called");



     }



  



    /**



     * Sets the session context.



     *



     * @param SessionContext



     */



     public void setSessionContext(SessionContext ctx) {    



     if (verbose)



     System.out.println("setSessionContext called");



     this.ctx = ctx;



     props = ctx.getEnvironment();



     }



    



     /**



     * This method corresponds to the create method in



     * the home interface DemoHome.java. 



     * The parameter sets of the two methods are 



     * identical. When the client calls 



     * DemoHome.create(), the container allocates an 



     * instance of the EJBean and calls ejbCreate(). 



     */ 



     public void ejbCreate () {



     if (verbose)



     System.out.println("ejbCreate called");



     }



  



    /**



     * **** HERE IS THE BUSINESS LOGIC *****



     * Do the demoSelect() but don't even go to



     * the database in this eg but instead just



     * return a String.



     * The really BIG thing to notice here is that



     * this is the only code we have invented at all



     * the rest of the code has been declarations



     * or simply implementing methods which are



     * part of the EJB interfaces and in this example



     * are not even used.



     */



     public String demoSelect()



     throws RemoteException



     {



     return("hello world");



     }



  



}
建立你的第一个无状态会话Bean--HelloWorld之一 建立你的第一个无状态会话Bean--HelloWorld之二 建立你的第一个无状态会话Bean--HelloWorld之三
保姆级教程:如何用Le2i Fall Detection Dataset训练你的跌倒检测模型(附数据集下载) 本文提供了一份详细的实战指南,教你如何使用Le2i Fall Detection Dataset训练跌倒检测模型。内容涵盖数据集的深度解析、预处理与工程化管道搭建、模型选择与训练策略,以及评估优化与部署考量,旨在帮助开发者从零构建高精度、可应用的跌倒检测系统。 阅读详情

相关推荐

Aruba无线控制器实战:如何用Client Match优化企业办公区漫游(附SNR调优技巧)

本文深入解析了如何利用Aruba无线控制器的Client Match功能优化企业办公区无线漫游体验。通过实战配置,详细阐述了基于SNR(信噪比)的精细化调优策略,包括阈值设定、负载均衡与场景化参数调整,旨在解决终端粘滞、乒乓漫游等问题,实现智能、平滑的无缝漫游。

weixin_28318011的博客 230

会话bean开发流程

 1 创建接口(最佳实践是创建两个接口A与B,B extends A)interface A{}interface B extends A{}2 创建实现接口的会话bean,@Stateless / @Stateful   ------生成全局JNDI(就是可以被外界访问的JNDI) 两个  HelloWorldBean /remote   HelloWorldBean /lo

孙健的专栏 593

STM32_USB复合设备开发实战:基于CubeMX插件简化HID与CDC集成

本文详细介绍了如何使用STM32CubeMX插件简化USB复合设备开发,特别是HID与CDC的集成。通过自动处理多设备描述符融合和端点资源分配,该插件显著降低了开发复杂度,帮助工程师快速实现键盘、鼠标和虚拟串口等复合功能,提升STM32 USB开发效率。

palm99的专栏 754

建立你的第一个无状态会话Bean--HelloWorld之一

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 453

Python爬虫教程:抓取电商网站评论(以淘宝和京东为例)

通过本文的介绍,我们学会了如何使用Python编写爬虫,抓取淘宝和京东等电商平台的商品评论数据。我们介绍了如何使用电商平台提供的开放API以及如何通过模拟浏览器来抓取动态加载的数据。此外,我们还讨论了如何应对反爬虫技术,如何存储抓取的数据等。爬取电商平台的数据是一个强大的工具,能够为市场分析、消费者行为研究、产品优化等领域提供有力的支持。然而,在使用爬虫技术时,我们必须遵循法律法规,尊重平台的隐私政策,避免滥用数据。

2201_76125261的博客 1738

Unity3D实现视频和模型融合效果

在Unity中,视频和3D模型融合通常涉及到将视频表面内嵌到3D场景中。视频不影响模型的展示, 这可以通过使用Shader和Texture来实现。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。下面就让我们进入正文吧!提示:以下是本篇文章正文内容,下面案例可供参考本次介绍的就是视频和模型融合的实现,以后有其他的需要添加的会继续添加不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒。

心疼你的一切博客 5358

EJB开发第一个无状态会话bean、开发EJB客户端

开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作。   实体Bean(Entity Bean) 它实际上属于java持久化规范(JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整

jerome 2311

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-构建可同步场景

本文介绍了如何利用Unity和WebRTC技术实现远程画面传输。通过配置Render Streaming组件、设置信令管理器和视频流发送器,构建了一个可同步的Unity场景。文中详细说明了从场景搭建到浏览器端测试的完整流程,并提供了常见问题排查方法。该方案适用于远程调试、云游戏、VR共享等场景,具有低延迟、高兼容性等特点。文章还包含项目源码下载链接,方便读者实践操作。最终实现了Unity端到浏览器端的实时画面传输,为后续实现双向互动奠定了基础。

每日出拳老爷子的博客 1843

ejb 有状态bean 和无状态bean

现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反: 有状态和无状态会话bean的本质区别是它们的生命期。 首先解释一个下面要用到的概念--用户:session bean 的用户实际上就是直接调用ejb的类的实例,甚至是这个

shukebai的专栏 906

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9039

44位abogus补环境与纯算逆向分析

44位ab参数补环境与纯算加密流程逆向分析

吴秋霖的博客 2792

有状态会话bean和无状态会话bean

Spring单例bean 线程安全

dabaicai0402的博客 1919

杰理SDK入门教程(二):USB升级程序

开发板升级操作指南 摘要:本文介绍了开发板程序升级的两种方式(常规升级和串口升级),重点说明了常规升级的操作步骤: 拨码设置:提供4种拨码方式(不拨/1档/2档/3档),对应不同指示灯状态和按键要求 硬件连接:强制升级工具需正确连接电脑和开发板(注意USB接口方向) 升级流程:根据拨码状态操作按键,观察指示灯变化(红灯常亮绿灯灭表示进入升级模式) 执行升级:运行SDK中的download.bat完成升级 文中还包含拨码开关说明、指示灯状态对照表以及升级原理说明,帮助用户理解升级过程。升级成功后在设备管理器可

qq_42014563的博客 1123

建立你的第一个无状态会话Bean--HelloWorld之三

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 455

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java.beans.transient_建立你的第一个无状态会话Bean--HelloWorld之二

这里是 DemoBean 企业JavaBeans DemoBean.java 的源代码:/*** DemoBean -- This is implemented by the EnterPrise* Bean author This class must extend* javax.ejb.SessionBean and implement* the methods in this interfa...

weixin_32205057的博客 162

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

① EJB无状态的bean(创建EJB的基础教程)

① EJB无状态的bean 1.定义 无状态会话bean是一种企业bean,它通常用来做独立操作。无状态会话Bean根据其名字没有任何关联的客户端的状态,但它可能会保留其实例的状态。就相当于我们spring中的单例对象,能够保存信息,服务于多个请求连接。 2.创建过程 2.1 创建服务端程序(EJBServer) 选择Java Enterprise,同时勾选(EJB),注意选择的jdk一定要是1.7.选择jboss服务器进行开发。 创建完成后,会自动在lib下面下载javax.ejb-api.jar,我

weixin_43899635的博客 750

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

EJB3.0学习(二)第一个程序HelloWorld

 开发只存在Remote接口的无状态的BEAN一、要定义一个会话BEAN,首先要定义一个包含他所有业务方法的接口。这个接口不需要任何注释,和普通的java接口一样定义。调用EJB的客户端通过使用这个接口引用从EJB窗口得到的会话Bean对象stub。接口定义如下:HelloWorld.javapackeage clchun.ejb3; public interface HelloWorld{ 

学习者专栏 2581

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

  ejb中的3种bean:     什么是会话bean? 编写第一个ejb3的会话bean: 步骤: 1.ejb企业级开发是面向接口编程的,我们完成第一个HelloWorld的例子,首先写接口,也就是远程接口(服务器端) package cn.com.xinli.ejb3; public interface HelloWorld { public ...

a8366的专栏 254

第一个EJB程序——HelloWorld(无状态会话bean)

在前面简单介绍了一下EJB的分类和它的环境配置,下面就写下他的第一个程序。我记得每一次学习语言的时候,第一个程序都是HelloWorld,所以,在学习EJB的时候也不例外,下面就让我们来写下第一个EJB程序——HelloWorld。 (1)新建一个项目EJB_HelloWorld. (2)打开window----&gt;preference------&gt;User Libraies ...

小学徒成长专栏 236

我的EJB学习历程(二)

  先说点题外话, bromon说的真有点恐怖,不知道消息来源的真实性,如果真是那样我想国内的人也不会马上就全部跑去转用EJB3吧。呵呵,不过还是要谢谢bromon 和我的铁杵我的针 ,我的第一篇文章终于有人看了,希望越来越多的人的加入!J     第一章    EJB开发   EJB的角色:(规定了6种开发和部署的角色) l         企业BEAN提供者(Enterprise Bean P

AGainsT ALL oDDs 's Garden 8723

SpringBoot——第一个HelloWorld、自定义bean注入容器

1.第一个HelloWorld 创建springboot项目。 1.1pom.xml <!-- 开发web场景需要导入的包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>

zh_tnis的博客 417

EJB3.0开发本地接口的无状态会话bean

概述 当客户端与ejb运行在同一个jvm时,他们之间可以通过内存进行交互,没有必要进行网络通信,减少性能的开销,所以引入了本地接口,只有客户端与ejb运行在同一个jvm中(客户端与ejb发布在同一个jboss内),才能采用本地接口,否则只能采用远程接口。实现编写本地接口类,继承与前面编写的远程接口,以使本地接口继承远程接口的所有业务方法package wang.ejb3;p

天空的云 2540

无状态EJB

无状态EJB     本文主要做一个HelloWorld 无状态会话Bean 大家知道完成一个无状态会话Bean主要有三个类: 两个接口类(Home Interface以及Remote Interface),一个HelloWorld的实现类; 以及两个EJB的部署描述符,在WebLogic Server中部署描述符有如下两个文件: ejb-jar.xml以及WebLog

YC.PENG的专栏 857

多项式除以单项式全解析:法则、易错点与高效训练法

整式运算是代数学习的基础,其中乘法分配律是连接乘法与除法的关键桥梁。除法作为乘法的逆运算,多项式除以单项式的本质就是逐项分配相除,并通过分数拆项与同底数幂法则完成化简。掌握这一运算,不仅有助于巩固整式乘除的闭环思维,更能为后续分式化简、几何面积计算等综合应用铺平道路。在实际学习中,学生常出现漏项、符号误判、指数混淆、结果遗漏常数项等典型问题,且容易忽略商可含分式的合法情况。从基础计算到混合运算、逆向求被除式、几何代值等题型,都需要遵循先拆后算再验算的有效策略,并结合错因诊断进行专项训练。本文系统梳理多项式除

weixin_34221773的博客 162

第一个Ejb3+JBoss的HelloWorld 的例子完成了(哈哈~)

                   我参照了网上的许多例子,以及那本我的第一本ejb3的书.>.但是我照书上的做用Jboss-IDE老是配置不成功,就算是用原书的代码也不能在页面访问到内容,至今原因都不知道,但是我最后可以成功的是用的                  Myeclipse6.5+Jboss-4.2.2.GA 开发的一个无状态会话Bean,我这个例子都搞了2天,今天终于调试出来

HC_1440的专栏 471

在IntelliJ IDEA上使用Maven创建Spring项目HelloWorld

因为IDEA自带Maven插件,所以使用IDEA是不需要在下载Maven的文件的,也可使用自己下载的Maven。Spring我们则是通过Maven来下载构建,所以不需要下载jar包的。 大神勿喷,请自行绕道,本博客面向第一次接触spring的小白。刚学习Spring ,请赐教。 开始搭建第一个项目并使用Spring的bean实现HelloWorld在控制台的输出 1.点击File---New

IT业的爬虫的博客 2万+
上一篇: 企业JavaBeansTM技术官方介绍
下一篇: 建立你的第一个无状态会话Bean--HelloWorld之一
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值