EJB系列教程 (轉)
系列教程之一(JBuilder4+I1+Vbj411基本設定)
------東方一蛇原創,如要轉載請註明原作者和網站。
一、前言
首先說明,我對JB4(JBuilder4),IAS41(Inprise Application Server)和Vbj411(VisiBroker For )不熟悉,只是自己看了些英文文件和測試了一下,成功了,就將這個寫出來,也許對大家有點用處。對於JB4,IAS41和Vbj411的資料可以去Inprise網站()去查閱。
二、,
下載地址為Inprise官方站點:,國內也有,但是比較難找。
下,安裝過程就沒有什麼說的了,直接執行setup就可以了。
三、配置JBuilder4
安裝完JB4後,預設的情況下,File --> New --->Enterprise下的很多東西應該都是灰色的,不能用,要先安裝並且配置好IAS,Vbj才能夠用的。
(1)Tools Menu -->Enterprise Setup --->
CORBA選中“VisiBroker”然後EDIT
在Path for ORB tools下,加入IAS4的bin目錄(這個方法比較簡單)
在Library for projects下,加入IAS4的lib,具體方法是:點“...”,然後New將出現一個新的對話方塊,輸入你想要的名字,然後“Add”,找到IAS4的lib目錄將其加入進來。最後連續OK,OK...
(2)Tools Menu -->Enterprise Setup --->Application Server
IAS4.1下的“IAS installation directory”下框中加入IAS的安裝目錄。
(3)Project -->Default Project Properties --->Paths
Required Libraries中加入IAS4的lib下所有jar,具體方法:Add -->New,然後取個你想要的名字,然後,Add,找到IAS4的lib下所有jar,並且加進來。最後,又是連續幾個“OK”... ...
好了,安裝配置工作做好了,在下一文中,我將簡單的翻譯一篇英文文件,用JBuilder4自己做一個Session Bean EJB,然後透過Client去連線Server。
**********************
EJB系列教程之二(Session beans EJB) ------
在這裡,我只介紹操作過程。
一、建立一個工程(project)
File ---> New Project
Project name 為:HelloWorld
選擇一個該專案的根目錄, path,例如:E:ejbproject
Finish。
二、建立一個EJB Gruop
File ---> New ---> Enterprise ---> Empty EJB Group
輸入名字:Name為:HelloWorld
OK
三、建立beans
File ---> New ---> Enterprise ---> Enterprise JavaBean
Next,將發現Package中已經有了:helloworld
在Class name中輸入:HelloWorlean
Next --->Finish
用滑鼠雙擊左邊的HelloWorldBean.java,在
public void setSessionContext(SessionContext context) {
sessionContext = context;
}
後加入一個事件(商業邏輯):
public String getHelloWorld(){
return "Hello World!";
}
Save All,然後Ctrl+F9,make,應該是0個錯誤,0個警告。
四、介面的處理
還是在該介面,HelloWorldBean.java的程式碼下有一個“Bean”,點Bean然後Methods,將核取方塊java.lang.String getHelloWorld()選上。
五、配置描述(Deployment Descriptor)
雙擊“HelloWorld.ejbgrp”,在下面展開“HelloWorldBean”
點“Container Transaction”後,在右邊點“Add”
Interface下是“*”,Method下也是“*”,Transaction attribute下,選擇“Required”
Save all後,點“Verify”進行效驗,應該是沒有錯誤的。最後Ctrl+F9“make”。
到這裡,服務端已經設定好了。
六、用Client去測試。
File ---> New ---> Enterprise ---> EJB Test Client
發現Enterprise JavaBean中是:HelloWorldBean
Package中是:helloworld
在Class中輸入類名,比如:HelloWorldClient
在左邊,點“HelloWorldClient.java”在程式碼中,有一個try...catch塊,在try中的最後面加上下面程式碼,去Serve端:
try {
//get naming context
Context ctx = new InitialContext();
//look up jndi name
ref = ctx.lookup("HelloWorld");
//cast to Home interface
helloWorldHome = (HelloWorldHome) PortableRemoteObject.narrow(ref, HelloWorldHome.class);
HelloWorld hello=helloWorldHome.create();
String str=hello.getHelloWorld();
System.out.println(str);
}
catch(Exception e)
{
e.printStackTrace();
}
七、配置
滑鼠右鍵點HelloWorldHome.java
Properties --->Build --->VisiBroker
將Generate IIOP勾上
OK
Save All
Ctrl+F9 "make"
八、執行
啟動VisiBroker Smart Agent,方法是:執行visibroker的bin目錄下的:osagent.exe。(也可以利用JB4的選單配置工具,將Smart Agent加到JB4的選單下,直接從選單啟動)
F9“Run”啟動Container------這個過程也許要花點時間哦。
右鍵HelloWorldClient.java點“Run”將顯示“Hello World!”。
如果你看到了,說明已經成功了,否則是哪個步驟不小心,再仔細看吧。
**********************************************************************
EJB系列教程之三(介紹Session beans)(譯)
一、Session beans簡單介紹
Session beans通常用於一個客戶端的會話。Session beans中的事件通常為客戶端設定的任務和程式。它僅僅存在在客戶連線的過程中,也可以說,session beans體現EJB server的Client , 它通常為Client提供服務。除了你必須用到持續不變的資料外,通常使用session beans。
二、兩種型別的Session beans
有態Session beans和無態Session beans。
有態Session beans用於單個client,用來保持這個client的狀態資訊。例如,網上購物中的定單就是一個session beans。客戶從物品列表中選取物品到定單中。最後,客戶要透過它來計算總價,付款。
無態Session beans用於多個client,它不由單個client所控制。例如:室中,聊天人的列表就是一個無態Session beans,因為每加一個人,該列表都會變化的。
三、生命週期
(1)有態Session beans當client呼叫Session bean 的home介面的create()事件的時候就開始存在。Container就開始建立一個新的session bean例項,並且初始化,返回資訊給cl端。在這個過程中,Container呼叫sessionbean介面的setSessionContext()事件和ejbCreate()事件。
當一個Client透過遠端或者HOME介面呼叫remove()事件時,Container將呼叫ejbRemove()事件,以後,這個bean的生命週期就結束了。此時,如果client試著再去呼叫beans的事件,將產生一個java..NoSuchObjectException異常。
(2)無態Session beans當client呼叫Session bean 的home介面的create()事件的時候就開始生存。Container就開始建立一個新的session bean例項,返回資訊給clinet端。在這個過程中,Container呼叫sessionbean介面的setSessionContext()事件和ejbCreate()事件。這個新的bean就被加到一個“池”中,供Client端用。由於不帶任何Client端特有的狀態,所以這個“池”中的任何beans都可以被client端用。
當Container從“池”中移掉一個的時候,將呼叫bean物件的ejbRemove事件。需要注意的是:呼叫create()和remove()事件,並不能從無態Session beans的 "池"中增加和移走無態Session beans。在整個過程中,無態Session beans的生命週期是由Container來控制的。
*******************
EJB系列教程之四(下配置EJB)-
------本站文章為東方一蛇原創,如要轉載請註明原作者和網站。
一、前言
Jboss為,完全免費的Appliaction Server,對於有很好的支援,可以和完美結合。
二、下載,安裝
下載地址為Jboss官方站點:,我下載的是Jboss2,而且和tomcat一起的,這樣避免了單個下載一起配置的問題。下載地址是:jboss_tomcat.zip
下載完,解壓到一個目錄,我這裡用E:jboss_tomcat作為例子。下面有子目錄:
E:jboss_tomcatjboss2
和
E:jboss_tomcattomcat32b7
注意,我這裡的目錄稍微做了改動的,這樣如果你不將TOMCAT_HOME加到CLASSPATH中,E:jboss_tomcatjboss2binrun_with_tomcat.bat這個檔案要做相應改動才能正常執行。
三、配置執行
基本上不要什麼配置的,只要安裝好了,當然,最好將TOMCAT_HOME加到CLASSPATH中。
這樣,E:jboss_tomcatjboss2binrun_with_tomcat.bat這個檔案前的TOMCAT_HOME就可以去掉了。
執行E:jboss_tomcatjboss2binrun_with_tomcat.bat這個檔案,這樣,Tomcat埠在8080,Jboss為8083,
執行將出現tomcat首頁,
執行將出現無錯誤的空白頁,
四、測試EJB
(1)啟動JBOSS:
方法見上:
(2)下載程式碼:
解開,出現如下目錄:
interest/com
interest/docs
...
全部copy到jboss2下examples目錄下,如果沒有examples目錄,建立一個,結構如下:
E:jboss_tomcatjboss2examplesinterest...
將檔案E:jboss_tomcatjboss2examplesinterestinterest.jar複製到:
E:jboss_tomcatjboss2deploy下:
在CLASSPATH中加入如下檔案:
E:jboss_tomcattomcat32b7lib.jar;E:jbossclientjboss-client.jar;E:jbossclientjnp-client.jar;E:jbosslibextejb.jar;E:jbossexamplesinterestinterest-client.jar
為了測試Client透過servlet呼叫EJB,必須將: E:jboss_tomcatjboss2examplesinterest下EJB.class和EJB.java複製到:
E:jboss_tomcattomcat32b7appsROOTWEB-INFclasses目錄下
重新啟動JBOSS_TOMCAT
(3)command下client測試執行:
command下,進入目錄E:jboss_tomcatjboss2examplesinterest
java InterestClient
將出現:
Got context
Got reference
Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023
jboss視窗將出現:
[Interest] Someone called `calculateCompoundInterest!'
(4)web下client透過Servlet測試執行:
將出現:
Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023
jboss視窗將出現:
[Interest] Someone called `calculateCompoundInterest!'
到此已經成功了。
***************
EJB系列教程之五(Orion下配置EJB2.0)
-------本站文章為東方一蛇原創,如要轉載請註明原作者和網站。
一、準備
你必須有以下條件:
JDk1.22或者更高版本
Java 3 Enterprise Edition(J2EE)
Orion Application Server 1.38或者更高版本
Jakarta-Ant(用這個工具打包EAR檔案,在下載的ZIP檔案中,已經建立好了,所以,該工具可以不要)
二、下載檔案:
解開後,建立如下結構:
X:Orion-test-appsTest20Cmpeb:該目錄下包含java bean檔案
X:Orion-test-appsTest20Cmpservlet:該目錄下有servlet的java檔案
其中,X為你的本地
[自己打包EAR檔案的方法: 進入X:Orion-test-apps目錄執行: ant -buildfile package. ]
三、配置:
X:j2sdkee1.2.1libj2ee.jar
和
X:Orion-test-apps
加到CLASSPATH環境變數中
另外,Orionconfig目錄下修改2個檔案:
server.xml中, 在之前,加:
default-web-site.xml中,之前,加:
四、測試執行
重新啟動Orion Application Server
[port]/Test20Cmp/Test20
將顯示:
Sample20Eb GET Called
Command 下Orion將有類似下面的輸出:
MakeSample20Eb.doPost() called
new InitialContext being called
context.lookup being called
PortableRemoteObject.narrow being called
home.create being called
... ...
makeNew method has returned
五、檢測資料
進入Orionbin目錄下,啟動Orion下自己帶的工具:
java -cp h.jar DatabaseManager
在URL中輸入:
:HypersonicSQL:../database/defaultdb
點“OK”將進入資料庫管理。
***********************************
最後說明,本人english比較差,翻譯的時候肯定會存在不少的錯誤,請大家原諒。
本站文章歸東方一蛇所有,如要轉載,請註名原文作者和網站。 OK-->
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EJB3.0例項教程
- ① EJB無狀態的bean(建立EJB的基礎教程)Bean
- EJB例項教程筆記(一)筆記
- 翻譯:EJB in a Nutshell (轉)
- Linux基礎系列教程(轉)Linux
- ejb3.1 cookbook學習系列1
- EJB設計模式5 (轉)設計模式
- EJB 程式設計模型 (轉)程式設計模型
- EJB設計模式2 (轉)設計模式
- EJB設計模式3 (轉)設計模式
- EJB設計模式4 (轉)設計模式
- EJB設計模式1 (轉)設計模式
- OpenGL系列教程之一:OpenGL(轉)
- 轉:Java NIO系列教程(四) Scatter/GatherJava
- EJB設計模式(第二版)之EJB Command (轉)設計模式
- 轉貼:Spring vs. EJBSpring
- JBoss中EJB的開發(轉)
- 駭客系列教程之暴力注入Explorer(轉)
- Jboss7 部署EJB3 簡明教程
- [教學] LPI 考試準備系列教程(轉)
- java bean 與 ejb的區別 (轉)JavaBean
- 駭客系列教程之脫殼的各種方法(轉)
- EJB設計模式之Data Transfer Object (轉)設計模式Object
- react系列教程React
- Hudson教程系列
- ejb服務能否轉換成socket服務?
- 學習EJB CMP/CMR 的心得體會 (轉)
- EJB菜鳥入門三板斧:) (轉)
- 運用反射實現ejb動態委派 (轉)反射
- 《熬夜整理》保姆級系列教程-玩轉Wireshark抓包神器教程(1)-初識Wireshark
- EJB學習(一)——EJB和WEB打包Web
- MongoTemplate 教程系列(三)Go
- MongoTemplate 教程系列(一)Go
- MongoTemplate 教程系列(二)Go
- 微服務系列教程微服務
- WCF系列教程地址
- Qt Creator系列教程QT
- 《爆肝整理》保姆級系列教程-玩轉Charles抓包神器教程(3)-再識Charles