?? ejb3.txt
字號:
ejb3
1、ant的作用
編譯、打印、部署
2、jboss的使用
1、有三種運行方式 mini all default
若是all
run -c all
若是mini
run -c mini
若是default
run
必須配置JBOSS-HOME
2、啟動的目錄,若是default
%JBOSS_HOME%/bin
3、部署目錄:
%JBOSS_HOME%/server/default/deploy
4、客戶開發(fā)的類包
%JBOSS_HOME%/client
5、連接池的模塊
%JBOSS_HOME%/docs/examples/jca
6、如何在jboss中配置連接池
將mssql-ds.xml文件拷入到%JBOSS_HOME%/server/default/deploy修
改用戶名、密碼、數(shù)據(jù)庫名、驅(qū)動
將sqlserver的三個類包拷入到%JBOSS_HOME%/server/default/lib下
3、ejb3所用的技術(shù)
rmi:remote method invoke 遠程方法調(diào)用,客戶可以直接調(diào)用服務(wù)
端一個類的方法。
jndi:通過jndi名可以直接得到一個實例。相當于dns,類的別名。
在jndi.properties文件中說明具體url、工廠類
Properties p=new Properties();
p.load(getStreamResoutce("jndi.properties"));
Context context=new InitialContext(p);
IFacade facade=(IFacade)context.lookUp("Facade/remote");
連接池:在服務(wù)端池中預(yù)先放置n個連接,用時直接取,不用時還可以放回去。
3、ejb3的分類:
1、會話bean
1、無狀態(tài)會話bean:方法間不保留中狀態(tài),facade
2、有狀態(tài)的會話bean:方法間保留狀態(tài)。
2、實體bean:主機重啟之后信息還存在
cmp //users
3、消息bean:異步
4、ejb最有價值的功能
1、分布式:一臺主機不夠用時多臺主機并發(fā)處理。
有一個負載均衡處理器,根據(jù)各主機
的忙碌情況將新的請求發(fā)給不同的主機。
2、系統(tǒng)大小確定的方式
1、并發(fā)請求客戶端的數(shù)量。
小型
<300
中型
300,1000
大型
1000以上
2、數(shù)據(jù)量的大小
<500M微型
500M以內(nèi)的數(shù)據(jù)量不算大。
500M-5G之間
小型
5G-1T之間
中型
1T以上:
大型
3、響應(yīng)速度
3、80%-90%的系統(tǒng)不會用分布式,所以不用ejb
sshi
10%-20%的系統(tǒng)會用到分布式,要用到ejb
ejb3
ejb2
5、實體bean的開發(fā)過程
1、加入連接池
2、在src目錄下加入META-INF目錄,加入persistence.xml文件
說明調(diào)用的連接池
3、寫數(shù)據(jù)類
類名前加入@ENTITY說明是一個實體bean
及與基于的對應(yīng)關(guān)系
必須實現(xiàn)serialable接口可以被序列化
說明主鍵,屬性與字段名的對應(yīng)關(guān)系。
4、實體bean的調(diào)用方法
persistent:增加
merge:修改
remove:刪除
find:根據(jù)主鍵查找
Query query=em.createQuery("from Users where userName=?1 and pwd=?2");
query.setParameter(1,"userName");
query.setParameter(2,"1234");
List<Users> user=query.getResultList();
6、sessionBean的實現(xiàn)過程
1、寫一個接口
2、寫一個實現(xiàn)類,類名前加入注解說明具體是一個遠程的無狀態(tài)
sessionBean
3、在所有方法之前加入注解說明EntityManager,通過
EnityManager的方法與實體bean交互。
五、ejb所用技術(shù)
rmi(remote method invoke):遠程方法調(diào)用,客戶可以直接調(diào)用服務(wù)端對象一個方法。
jndi(java naming direction interface):通過jndi名可直接得到一個類,相當類的別名(dns)
連接池:在池中預(yù)放n個連接,用時直接取,用完了還可以放回去。
九、ejb實體bean的開發(fā)
1、導(dǎo)入模板
2、寫數(shù)據(jù)類加入注解必須序列化
3、加入\META-INF\文件夾,加入persistence.xml,說明連接
池信息
十、ejb中的SessionBean的開發(fā)
1、寫一個接口
2、寫一個實現(xiàn)類,在實現(xiàn)類前說明其是一個無狀態(tài)有sessionBean
遠程接口
3、在所有方法前加入一個EntityManger屬性
em.persist:增加
em.merge:修改
em.remove:刪除
em.find(類說明,主鍵值):根據(jù)主鍵查
em.createQuery().getResultList:得到一批數(shù)據(jù)
十二、客戶端調(diào)用ejb
1、通過一個properties說明服務(wù)端的地址及工廠類
2、加載properties文件
3、產(chǎn)生一個會話
Context context=new InitContext(p);
4、通過jndi名得到一個ejb
IFacade facade=(Facade)context.lookUp("Facade/remote");
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -