您好,登錄后才能下訂單哦!
EJB系列教程之一(JBuilder4+Ias41+Vbj411基本設置)
------東方一蛇原創,如要轉載請注明原作者和網站。
一、前言
首先說明,我對JB4(JBuilder4),IAS41(Inprise Application Server)和Vbj411(VisiBroker For Java)不熟悉,只是自己看了些英文文檔配置和測試了一下,成功了,就將這個寫出來,也許對大家有點用處。對于JB4,IAS41和Vbj411的資料可以去Inprise網站(http://www.inprise.com/)去查閱。
二、下載,安裝
下載地址為Inprise官方站點:www.inprise.com,國內也有,但是比較難找。
win2000下,安裝過程就沒有什么說的了,直接運行setup就可以了。
三、配置JBuilder4
安裝完JB4后,默認的情況下,File --> New --->Enterprise下的很多東西應該都是灰色的,不能用,要先安裝并且配置好IAS,Vbj才能夠用的。
(1)Tools Menu -->Enterprise Setup --->Corba
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
選擇一個該項目的根目錄,root 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中輸入:HelloWorldbean
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 object
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.NET端。在這個過程中,Container調用sessionbean接口的setSessionContext()事件和ejbCreate()事件。
當一個Client通過遠程或者HOME接口調用remove()事件時,Container將調用ejbRemove()事件,以后,這個bean的生命周期就結束了。此時,如果client試著再去調用beans的事件,將產生一個java.Rmi.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系列教程之四(jboss下配置EJB)-
------本站文章為東方一蛇原創,如要轉載請注明原作者和網站。
一、前言
Jboss為open source,完全免費的Appliaction Server,對于J2EE有很好的支持,可以和tomcat完美結合。
二、下載,安裝
下載地址為Jboss官方站點:http://www.jboss.org/,我下載的是Jboss2,而且和tomcat一起的,這樣避免了單個下載一起配置的問題。下載地址是:http://www.jboss.org/jboss_tomcat.zip
下載完,解壓到一個目錄,我這里用E:jboss_tomcat作為例子。下面有子目錄:
E:jboss_tomcatjboss2
和
E:jboss_tomcattomcat32b7
注意,我這里的目錄稍微做了改動的,這樣如果你不將TOMCAT_HOME加到CLASSPATH中,E:jboss_tomcatjboss2binrun_with_tomcat.bat這個文件要做相應改動才能正常運行。
三、配置運行
基本上不要什么配置的,只要安裝好了jdk,當然,最好將TOMCAT_HOME加到CLASSPATH中。
這樣,E:jboss_tomcatjboss2binrun_with_tomcat.bat這個文件前的TOMCAT_HOME就可以去掉了。
運行E:jboss_tomcatjboss2binrun_with_tomcat.bat這個文件,這樣,Tomcat端口在8080,Jboss為8083,
運行http://localhost:8080/將出現tomcat首頁,
運行http://localhost:8083/將出現無錯誤的空白頁,
四、測試EJB
(1)啟動JBOSS:
方法見上:
(2)下載代碼:
http://www.wodejia.net/softDOWNLOAD/java/interestejb.zip
解開,出現如下目錄:
interest/com
interest/docs
...
全部copy到jboss2下examples目錄下,如果沒有examples目錄,建立一個,結構如下:
E:jboss_tomcatjboss2examplesinterest...
將文件E:jboss_tomcatjboss2examplesinterestinterest.jar復制到:
E:jboss_tomcatjboss2deploy下:
在CLASSPATH中加入如下文件:
E:jboss_tomcattomcat32b7libservlet.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_tomcattomcat32b7webappsROOTWEB-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測試運行:
http://cgreen:8080/servlet/EJB
將出現:
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文件中,已經建立好了,所以,該工具可以不要)
二、下載文件:
http://www.wodejia.net/softdownload/java/Test20Cmp.zip
解開后,建立如下結構:
X:Orion-test-appsTest20Cmpeb:該目錄下包含java bean文件
X:Orion-test-appsTest20Cmpservlet:該目錄下有servlet的java文件
其中,X為你的本地硬盤
[自己打包EAR文件的方法: 進入X:Orion-test-apps目錄運行: ant -buildfile package.XML ]
三、配置:
X:j2sdkee1.2.1libj2ee.jar
和
X:Orion-test-apps
加到CLASSPATH環境變量中
另外,Orionconfig目錄下修改2個文件:
server.xml中, 在之前,加:
default-web-site.xml中,之前,加:
四、測試運行
重新啟動Orion Application Server
http://localhost[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 hsql.jar DatabaseManager
在URL中輸入:
JDBC:HypersonicSQL:../database/defaultdb
點“OK”將進入數據庫管理。
***********************************
最后說明,本人english比較差,翻譯的時候肯定會存在不少的錯誤,請大家原諒。
本站文章歸東方一蛇所有,如要轉載,請注名原文作者和網站。 OK--> www.wodejia.net
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。