日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EJB3概述

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EJB3概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、EJB技術概述

  • Java之所以受到企業級應用的青睞,很大程度上不僅是因為其在Web領域的成功,
    ?? ?更多的是因為Java EE的規范中明確規定了一個清晰的軟件分層,
    ?? ?將業務邏輯分離于表現層,而EJB就是這樣的位置。
  • 什么是EJB
    ?? ?EJB是用于構建企業應用程序模塊托管的、服務器端組件架構。EJB技術加速
    ?? ??? ?并簡化了開發基于Java技術的分布式、事務性、安全和便攜的應用程序。
  • EJB類型
    ?? ?EJB的類型有兩種:會話Bean(Session Bean)和
    ?? ??? ?消息驅動Bean(Message Driven Bean)。
    ?? ??? ?其中會話Bean又分為有狀態的會話Bean(Stateful Session Bean)
    ?? ??? ?和無狀態的會話Bean(Stateless Session Bean)。
    ?? ?會話Bean:是供客戶(Client)端調用的Bean,
    ?? ??? ?會話Bean通常封裝了常用的業務邏輯,是最常用的Bean。
    ?? ??? ?有狀態的會話Bean可以保存客戶端的狀態,能夠跟蹤客戶端;
    ?? ??? ?無狀態的會話Bean不能保存客戶端的狀態;一次會話結束,會話Bean就結束了。
    ?? ?消息驅動Bean:可供客戶端調用的異步方法,通常封裝了發送消息相關的業務邏輯。

二、下載和安裝JBoss服務器

  • 下載JBoss
    ?? ?下載、解壓
  • JBoss的目錄結構
    ?? ?JBoss解壓縮后的根目錄下有bin、client、docs、server和lib等文件目錄。
  • MyEclipse中配置JBoss
    ?? ?1、配置服務器
    ?? ?2、配置JDK
    ?? ?3、配置啟動模式
  • 啟動JBoss服務器
    ?? ?選擇Start選項啟動JBoss

三、實例:HelloEJBService

  • 新建EJB工程
    ?? ?1、選擇菜單中的File | New | EJB Project命令,
    ?? ??? ?彈出New EJB Project對話框。
    ?? ?2、輸入項目名稱,同時選擇項目為Java EE 5.0,
    ?? ??? ?單擊Finish按鈕,這樣就創建了一個EJB項目。
  • 定義EJB業務接口
    ?? ?開發一個SessionBean通常要定義兩個類:一個是服務接口,
    ?? ??? ?它聲明為Remote或者是Local的。另一個是實現這個遠程接口的Bean,
    ?? ??? ?它可以被聲明成Stateful或Stateless。
    ?? ?EJB的業務接口由以下兩部分組成:
    ?? ??? ?普通的Java接口。
    ?? ??? ?標注調用接口的方式,本地調用@Local或者遠程調用@Remote。
  • 編寫SessionBean
    ?? ?定義了遠程的服務接口,之后需要開發無狀態的會話Bean也需要兩個要素:
    ?? ??? ?實現定義的業務接口。
    ?? ??? ?使用注釋@Stateless,將Bean標注成為無狀態的會話Bean。
  • EJB的部署
    ?? ?將EJB部署到JBoss容器中的步驟如下:
    ?? ?1、在項目上右擊,在彈出的快捷菜單中選擇MyEclipse |?
    ?? ??? ?Add and Remove Project Deployments命令。
    ?? ?2、或者也可以單擊工具欄中的部署按鈕,也會打開部署項目的對話框。
    ?? ??? ?然后在對話框中選擇Add按鈕,在彈出的對話框中
    ?? ??? ?選擇所要部署的JBoss服務器,單擊Finish按鈕。
    ?? ??? ?部署時,可以選擇部署為Explored Archive解壓包和Packaged Archive
    ?? ??? ??? ?壓縮包兩種方式,兩種方式的區別如下:
    ?? ??? ??? ?Explored Archive:可以支持熱部署,也就是說當代碼改變后,
    ?? ??? ??? ??? ?不用重新啟動JBoss便可以運行最新的程序,這種方式適合在
    ?? ??? ??? ??? ?開發階段部署使用,建議采用這種方式。
    ?? ??? ??? ?Packaged Archive:不支持熱部署,改變代碼后,需要重新啟動
    ?? ??? ??? ??? ?JBoss。這種方式適用于產品發版后,運行適用。
    ?? ?3、部署完成EJB后,將會在JBoss的安裝目錄
    ?? ??? ?E:\server、jboss-5.0.0.Beta4\server\default\deploy下
    ?? ??? ?新建xxx.jar的文件夾,這個EJB Jar包便是剛才部署的EJB。
    ?? ?4、啟動JBoss服務器,在啟動時JBoss會自動加載EJB。

四、運行EJB

  • 客戶端調用EJB
    ?? ?客戶端調用EJB時需要注意以下幾個問題:
    ?? ?1、要想獲得指定的EJB組件,首先要初始化context上下文對象,
    ?? ??? ?使用JBoss服務器,所以初始化Context要使用JBoss的實現。
    ?? ??? ?protected static Context getInitialContext() {
    ?? ??? ??? ?if (context == null) {
    ?? ??? ??? ??? ?Hashtable props = new Hashtable();
    ?? ??? ??? ??? ?props.put(Context.INITIAL_CONTEXT_FACTORY,
    ?? ??? ??? ??? ??? ?"org.jnp.interfaces.NamingContextFactory");
    ?? ??? ??? ??? ?props.put(Context.URL_PKG_PREFIXES,
    ?? ??? ??? ??? ??? ?"org.jboss.naming:org.jnp.interfaces");
    ?? ??? ??? ??? ?props.put(Context.PROVIDER_URL,?
    ?? ??? ??? ??? ??? ?"jnp://localhost:1099");
    ?? ??? ??? ??? ?context = new InitialContext(props);
    ?? ??? ??? ?}
    ?? ??? ??? ?return context;
    ?? ??? ?}
    ?? ?2、EJB的服務接口需要通過Context對象的lookup方法來查找,
    ?? ??? ?其中參數的組成為:
    ?? ??? ?EJB-JAR包中EJB的獲取:EJB服務名/接口類型(remote/local)。
    ?? ??? ?EAR包中EJB的獲取:EAR包名/EJB服務名/接口類型(remote/local)。
    ?? ??? ??? ?Context ctx = getInitialContext();
    ?? ??? ??? ?Ojbect object = ctx.lookup("HelloEJBService/remote");
    ?? ?3、運行客戶端程序需要將JBoss的客戶端類庫導入到運行環境中,該類庫
    ?? ??? ?位于E:\server\jboss-5.0.0.Beta4\client\jbossall-client.jar下。
  • Web應用調用EJB
    ?? ?@EJB
    ?? ?IHelloEJBService service;
    ?? ?service.sayHelloEJB("Web Client");

五、EJB其他的相關技術規范

  • MessageBean(消息Bean):
    ?? ?也叫做消息驅動Bean,是基于Java消息服務(JMS)技術的,它能夠異步地
    ?? ??? ?發送消息執行業務邏輯,常用的應用比如驅動工作流程等。
  • EntityBean(實體Bean):
    ?? ?是持久層的業務組件,在EJB3.0以后,被單獨分離出來成為
    ?? ??? ?JPA(Java Persistence API),是一種ORM的規范。
  • 事務管理(Transaction):
    ?? ?事務管理是EJB中很重要的內容,它能夠保證業務邏輯的完整性。
    ?? ??? ?事務管理是對一系列操作的管理,它最終只有兩個結果,
    ?? ??? ?要么成功,要么失敗。一旦失敗,所有的操作將回滾到初始狀態。
    ?? ??? ?一旦成功,才最終提交,最終持久化。
  • EJB安全(Security):
    ?? ?對于任何系統來說,安全都是需要值得考慮的問題,EJB當然也不例外。
    ?? ??? ?EJB中針對安全方面有專門的API,
    ?? ??? ?能夠幫助EJB快速地建立安全的運行環境。
  • AOP在EJB中的而應用--攔截器(Interceptor):
    ?? ?AOP攔截器是EJB3.0以后的功能,它能夠在調用EJB之前對EJB進行攔截,
    ?? ?可以方便地對訪問進行控制。
  • 定時服務(Timer Service):
    ?? ?定時服務是EJB中類似定時器的服務,它能夠定時地觸發業務邏輯,
    ?? ??? ?簡化了后臺需要周期性執行的業務的開發。
  • Web服務(Web Service):
    ?? ?Web服務是目前各大公司倡導的業務理念,EJB也不例外。
    ?? ??? ?在EJB3.0規范中,將EJB發布成Web服務更加容易和方便。

總結

以上是生活随笔為你收集整理的EJB3概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。