• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    JBuilder7+Weblogic7+mysql 開發EJB的配置(加入BMP,CMP開發實例)[推薦]

    發布: 2007-7-01 18:47 | 作者: admin | 來源: | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網 JBuilder7+Weblogic7+mysql 開發EJB的配置

    配置JB+WLS可以說是一場惡夢,網上搜了所有可以搜到的貼子,有質量的不過三四個,可以說這幾個
    貼子在某些方面寫得確實不錯,筆者也是靠它們的幫助,經過幾天艱苦的摸索才完全成功地整合了JB7+WLS7以
    及MYSQL數據庫來開發EJB的。但這幾個貼子都是以前的JB4-6,WLS5-6。1的情況下寫的,有很多選項都不適用
    于JB7+WLS7,而且都是單方面的,沒有一個從配置到布署的完整的文檔。

    一、安裝不說了。
    二、配置:安裝好JB7和WLS7后,應該先配置WLS7,因為WLS7配置時和JB7無關而JB7要選擇WLS的環境
    下面按順序來一步步說明:

    我在文檔中用到的例子字段(就是用“如:字段”),那么以后在要用到這個字段就直接寫成如后的字段
    配置MYSQL(別的數據庫都是一樣的)新建一個庫名,如:ejbdb,配置好用戶名和密碼如(root,111111)
    把mysql的jdbc(如mysql.jar)放到一個目錄中,一般放在%JAVA_HOME%/lib/下。不過只要不放在軟盤上
    總是能找到的。

    配置WLS7
    假如WLS7安裝在c:\ea下,進入c:\ea\weblogic700\in目錄,修改startWLS.cmd(注意首先修改這個
    文件是因為有的文檔上說修改c:\ea\user_projects\mydomain\下的startWeblogic.cmd,是不對的。)首先修
    改這個文件是這時c:\ea\user_projects\mydomain\下的startWeblogic.cmd還沒有產生,保證你不會改錯。如
    果是linux下修改startWLS.sh

    找到set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\weblogic_sp.jar;
    %WL_HOME%\server\lib\weblogic.jar;%CLASSPATH%
    加上mysql.jar:成
    set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\weblogic_sp.jar;
    %WL_HOME%\server\lib\weblogic.jar;path\mysql.jar;%CLASSPATH%

    存檔退出,在啟動菜單上運行BEA Weblogic platform 7.0 -> domain configuration wizard有的就叫
    configuration wizard。

    1.Select a template:選擇WLS Domain,Name默認的mydomain
    2.Choose Server Type: 第一個
    3.Specify directory for "mydomain" domain:C:\ea\user_projects\
    4.value Administrative Server Info-Admin Server Name or IP 寫機器的ip,這樣保險,其它默認
    5.Configure Managed Server: Server Name:默認為myserver
    Server Listen Address:寫機器的ip .其它默認
    6.Create System UserName and Password:寫用戶名和密碼,如:system:aaaaaa
    7.Install Server as Windows Servic:這里問要不要在啟動操作系統時啟動,可根據自己的需用選擇。
    8.Install Domain in Windows Start Menu:這里問要不要在開始菜單添加快捷方式,建議是“Yes”.
    這樣在開始菜單中會出現EBA Weblogic Platform 7.0->User projects-my domain->Start Server

    如果8選擇了yes,現在就從開始->EBA Weblogic Platform 7.0->User projects-my domain->Start Server啟動
    等一會兒,啟動結束后進入:http://localhost:7001/console如果找不到頁面把localhost換成主機名或IP試試
    如果不能進入檢查上面的步驟,反正這里如果不能訪問向下做了,死也要給我訪問到這個頁面。
    輸入剛才的用戶名和密碼(system:aaaaaa)進入。

    在左邊的目錄樹中選中Services->JDBC->Connection Pools,單擊右側的Configure a new JDBC Connection Pool.
    輸入以下信息:
    Configuration->General頁:
    Name = Mysql Connection Pool
    URL = jdbc:mysql://localhost:3306/ejbdb(注意ejbdb是我上面的例子字段,以下都會這樣)
    Driver classname = org.gjt.mm.mysql.Driver
    Properties :
    user=root
    password=111111 這兩行是Properties 的內容,就是name=value形式
    單擊Create建立連接池。
    選擇Targets->Server頁:
    將myserver(服務器名稱)移至右側的列表中,但擊單擊Apply

    在左邊的目錄樹中選中Services->JDBC->Data Sources(或者TXData Sources)單擊右側的Configure a new JDBC
    Connection Pool.,輸入以下信息:
    Configuration->General頁:
    Name = Mysql Tx Data Source
    JNDI Name = ejbPool 這個名字就是你以后要引用的DataSource名稱
    Pool Name = Mysql Connection Pool
    選中Emulate Two-Phase Commit for non-XA Driver和Row Prefetch Enabled
    單擊Create建立數據源。
    Targets->Server頁:
    將myserver(服務器名稱)移至右側的列表中,但擊單擊Apply,配置完畢


    -----------------------------------------------------------------------------------------------------

    配置JB7

    1. 修改環境變量TEMP和TMP 為不帶空格的目錄如:c:\winnt\temp,一定要注意,不然發布肯定不成功
    2. 啟動Jbuilder7,Tools->Configure libraries->class->Add,找到mysql.jar,OK,OK
    3.選擇:Tools->Configure Servers選中左側的Weblogic Application Server 6.x+,選中右邊的
    Enable Server
    4. 將General->Home Directory設為WebLogic7的Home Directory如:c:/bea/weblogic700/server,正常
    的話Jbuilder7將自動為你添好其他的項。server parameters不填,在下面的class中用add加上mysql.jar默認已經
    加上了c:/bea/weblogin700/server/lib/weblogic.jar和c:/bea/weblogin700/server/lib/weblogic_sp.jar,如果
    沒有說明c:/bea/weblogic700/server沒有指定正確。其實c:/bea/weblogin700/server/lib/weblogic_sp.jar是不存
    在的,不要管它。只要把mysql.jar加進來。如果2沒有做,是找不到的。
    5. 將Custom->JDK Installation Directory設為 JDK的安裝目錄,如:c:/bea/jdk131_02
    6. 將Custom->BEA Home Directory設為WebLogic7的Home Director,如:c:/bea
    7. 將Custom->Domain Directory設為你的域目錄,如:c:/bea/user_projects/mydomain
    8. 添好User name, Password ,Domain name, Server name后,單擊OK退出。
    9. 選擇:Tools->Enterprise Setup,單擊CORBA頁上的New, 按下表填寫相應信息:
    Name for this configuration = WelLogic
    Path for ORB Tools = c:/bea/weblogic700/server
    Library for Projects = WebLogic 6.x+ Deploy
    IDL compiler command = idlj.exe
    Commnad option for output directory = c:\temp(任意目錄,不要有空格)
    單擊OK退出。
    10.config JDKS中最好保持用jb7自己的JDK1。3。1或用EAB下面的JDK,不要改成另外安裝的JDK1。4,因為
    這個版本中有一些本地方法實現不能和WLS很好地工作,肯定會出錯。
    11.選擇Project->Default Project properties 在Path頁的Required libraries中將會看到WebLogic 6.x+
    Client和WebLogic 6.x+ Deploy兩項,如果沒有,請檢查以上步驟是否正確。選擇Server頁,單擊Single services
    for all service in project,在下拉列表中選擇WebLogic Application Server 6.x+,但擊OK退出。
    12。Tools->Database pilot->view->options->Drivers->Add,彈出對話框中輸入org.gjt.mm.mysql.Driver
    確定后在下面的Simple URL中輸入mysql://localhost:3306/ejbDB,注意前面沒有"jdbc:"確定.
    在File->New彈出new URL,選擇Driver為剛才加入的org.gjt.mm.mysql.Driver,則URL自動為顯示為
    jdbc:mysql://localhost:3306/ejbDB,確定,然后點中工具條那個向右下的箭頭(apply)。雙擊左邊剛加入的這個,
    輸入用戶名root和密碼111111可是測試數據庫連結是否通過,如果沒有看到下面的表請檢查以上步驟。



    ---------------------------------------------------------------------------------------------------------

    開發EJB
    File->New Project生成一個新工程;如:myproject
    File->New 選擇Enterprise,選擇EJB2.0 Bean Designer,OK。
    按New彈出EJB module Wizard,Name改為AccountApp,左邊組樹上出現設計器AccountApp,點開前面的加號可以
    看到它下面有JDBC 1 Datasources和Security Roles。雙擊EJB設計器AccountApp,右邊顯示設計界面,以后從別的介面
    要返回設計界面就雙擊設計器。點擊工具條上第一個圖標,就是象一個谷子一樣的東西上面有一個太陽了,title為
    Create EJB.有四個選項,CMP2.0,BMP,SESSION,MESSAGEp 四種BEAN,本例選BMP,出來Bean設計窗,右邊會有一個
    Bean properties框,不過如果你MOUSE動得快它可能會消失了。不要緊,在BEAN的名字上左擊會出來,把BEAN的名字改為
    AccountBean,interface為local/remote。alway warp primary key為true,點擊classes and package:
    package:改為你想要放的包名,本例為:com.fuck.axamn
    如果你用默認類名也行,但我喜歡遠程接口中不加Remote,而local接口中加local,而JB正好相反,它是這樣的。
    Bean class: com.fuck.axamn.AccountBean
    Home interface class: com.fuck.axamn.AccountRemoteHome
    local Home interface class: com.fuck.axamn.AccountHome
    Remote interface calss: com.fuck.axamn.AccountRemote
    Local interface calss: com.fuck.axamn.Account

    而本例中我是這樣命名的:
    Bean class: com.fuck.axamn.AccountBean
    Home interface class: com.fuck.axamn.AccountHome
    local Home interface class: com.fuck.axamn.AccountLocalHome
    Remote interface calss: com.fuck.axamn.Account
    Local interface calss: com.fuck.axamn.AccountLocal

    右擊Bean設計窗上BEAN的名字,選view source,好吧,把例子手工敲上去。先不要COPY上去啊,自己敲可以加深理解。如
    果最后了出錯了再COPY。

    Bean類本身設計好后,點擊左邊設計器上面的package里面會看到它的接口類,一個一個點擊右邊會出現源碼,一個一個
    設計好,要加入的附屬類(比如本例中的AccountExeption)通過右擊package,選Add files/packages,加入一個java文件,
    注意要和自動生成的文件在同一目錄。

    全部寫好后,右擊工程名,make一下,然后按F9運行。如果WLS沒有啟動JB會自動啟動它的。

    沒有問題后右擊設計器,選擇Deploy可以順利發布到WLS上,從http://localhost:7001/console進入后可以看到AccountApp
    被發布到WLS中了。

    ---------------------------------------------------------------------------------------------------------------

    測試:
    在工程中,File->New->Enterprise->EJB test Client.名稱設為AccountClient
    在左邊組件樹中雙擊AccountClient.java,編輯內容為本本例提供的內容.

    mysql -uroot -p
    111111
    use ejbdb;
    create table accounts (id varchar(60) not null primary key,ownerName varchar(60),double balance(8,2) default 0.00);

    make AccountClient.java
    run AccountClient.java


    ____________________________________________________________________
    JB7+WLS7+MYSQL 開發CMP

    CMP開發其實比BMP更簡單(我說的是操作上的簡單),只要定義好你的業務邏輯,
    在實現時其實很快的.但網上竟然找不到一任何用JB開發CMP的例子,在J道上有一篇文章
    竟然要收50元才教大家如何用JB開發CMP,太黑了.而且是站長發的,所以在下不敢在那兒
    發表這篇文章,不過請大家在別的地方相互轉貼,不要讓那家伙黑了心騙別人的錢.

    JB開發CMP,其實方便得很,就是大多數人不知道如何操作,因為CMP不是從BEAN設計器
    的設計界面建立的.而且很多選項沒有別人說明確實不知道選什么.

    前題是根據原來的那一篇配置的文章已經配置好JB7+WLS+MYSQL

    現在開始,先定義CMP持久化字段的數據庫,比如我們要做一個Product的BEAN,包括四
    個字段:
    productID:產品編號(唯一)
    name:產品名稱
    description:產品說明
    basePrice:產品基價

    那么先要定義好數據庫:
    mysql -uroot -p
    111111
    use ejbdb;
    create table ProductBean(
    productID varchar(60) not null primary key,
    name varchar(60),
    description varchar(200),
    basePrice double(8,2) default 0.00
    );

    啟動JB7.
    File->New Project->輸入工程名 如:myproject2
    File->New 選擇Enterprise,選擇EJB2.0 Bean Designer,OK。
    按New彈出EJB module Wizard,Name改為ProductApp,左邊組樹上出現設計器ProductApp
    注意這時不要從右邊的設計界面上Create EJB,雙擊設計器ProductApp,在組件樹下面會出現
    DataSources,右鍵選擇 Import Schema From Database,彈出Database Schema provider窗口
    在All schema前面打勾.
    選擇Driver為 org.gjt.mm.mysql.Driver,下面的url會自動為你原來設定的URL.注意在
    原來設定URL時不應該加jdbc:,要不這兒就會出現jdbc:jdbc:mysql://localhost:3306/ejbdb
    如果是這樣去掉一個\\\"jdbc:",輸入username和password(root:111111).把jdni name中的默認
    值DataSource改為你在WLS中配置MYSQL時的JDIN NAME(例子中是ejbPool).點擊OK,如果連結
    成功在DataSources下面會出現一個ejbPool,點擊它前面的+號可以看到ejbdb這個庫下面的所
    有表,我們現在要把productbean這個表來作為持久化字段的對應關系,所以右擊productbean
    選把第一項Create CMP2.0 Entity Bean.注意Mysql把表名全部設為小寫了,所以新建的Bean
    的名稱為Productbean,這時右邊的設計界面中產生一個Bean設計窗,名稱為Productbean,左擊
    名稱,右邊出現屬性對話框:
    Bean name:改為ProductBean.
    Abstract Schema name:會自動跟著改成ProductBean.
    interface:local/remote
    always wrap primary key:true
    classes and packages:還是的BMP一樣,默認的命名是:

    Bean class: com.fuck.axamn.ProductBean
    Home interface class: com.fuck.axamn.ProductRemoteHome
    local Home interface class: com.fuck.axamn.ProductHome
    Remote interface calss: com.fuck.axamn.ProductRemote
    Local interface calss: com.fuck.axamn.Product

    而本例中我是這樣命名的:
    Bean class: com.fuck.axamn.ProductBean
    Home interface class: com.fuck.axamn.ProductHome
    local Home interface class: com.fuck.axamn.ProductLocalHome
    Remote interface calss: com.fuck.axamn.Product
    Local interface calss: com.fuck.axamn.ProductLocal

    CMP properties中,本例是一個BEAN對應一張表,所以先第一個Single table maping
    如果是一個BEAN和多表關關聯選第二項,然后把左邊的primary key和右邊各表對應的字段
    用紅線連一下就行了,你只要點primary key的字段拖就會出現紅線.

    點擊左邊組件樹上設計器ProductApp上面的package,一級一級點開,看到生成的5個文件

    ProductHome.java
    ProductLocalHome.java
    Product.java
    ProductLocal.java
    ProductBean.java
    一一按本例附件中的文件內容敲進去.完成后雙擊設計器,讓右邊回到BEAN設計界面上,會看
    到ProductBean的finder方法有七個,findByPrimaryKey是系統自動生成系統的,這個不要你考慮.
    但是其它的6個系統不可能知道你是按什么條件查找,所以要手工寫入EJB-QL.
    在各方法上點擊一下就會在右邊彈出對話框,別有都不動,在最下面的Query內容框中輸入以
    下對應的內容

    findByName方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.name=?1
    findByDescription方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.description=?1
    findByBasePrice方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice=?1
    findExpensiveProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice<?1
    findCheapProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice>?1
    findAllProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.productID IS NOT NULL

    右鍵點擊工程mysproject make,如果輸入沒有錯誤,應該順利編譯.然后按F9運行。如果WLS沒有啟動JB
    會自動啟動它的。

    沒有問題后右擊設計器,選擇Deploy可以順利發布到WLS上,從http://localhost:7001/console進入
    后可以看到ProductApp 被發布到WLS中了。
    ------------------------------------------------------------------------------------------
    測試:
    在工程中,File->New->Enterprise->EJB test Client.名稱設為ProductClient
    在左邊組件樹中雙擊ProductClient .java,編輯內容為本本例提供的內容.

    make ProductClient.java
    run ProductClient.java

    在測試文件中如何查找ProductApp這個EJB呢,其實你在左邊組件樹中雙擊設計器下面ProductBean的
    名稱,右邊會顯示出這個BEAN的屬性,Home JDNI NAME和Local JDNI name分別就是遠程和本地的JDNI
    命稱,你在測試文件就查找這個名稱,如:
    Object objref = ctx.lookup("ProductBeanRemote");
    "ProductBeanRemote"就是Home JDNI NAME框中的值.

    整理發布:18



    文章回復:
    Re:JBuilder7+Weblogic7+mysql 開發EJB的配置(加入BMP,CMP開發實例)[推薦]
    作者:asf 發表于:2004-04-16 17:59 通過Email跟作者聯系
    不好意思,現在看到bmp了,得罪了。不好意思~~請原諒!以后我會常來的。謝謝~

    Re:JBuilder7+Weblogic7+mysql 開發EJB的配置(加入BMP,CMP開發實例)[推薦]
    作者:oh 發表于:2004-04-16 17:46 通過Email跟作者聯系
    哪里有bmp的實戰?騙人啊,垃圾!

    Re:JBuilder7+Weblogic7+mysql 開發EJB的配置(加入BMP,CMP開發實例)[推薦]
    作者:johnwoo 發表于:2004-03-11 18:27
    一場噩夢?哪有那么嚴重?我沒人教,不也是一天內搞定了

    Re:JBuilder7+Weblogic7+mysql 開發EJB的配置(加入BMP,CMP開發實例)[推薦]
    作者:opencn 發表于:2004-02-13 22:13 通過Email跟作者聯系
    Axman你好,我按你的步驟去做了,做CMP時,Make成一個JAR包后Deploy成功了。做了個EJB test Client測試這個BEAN,create(new Integer(4))成功建了個實例,之后findByPrimaryKey(new Integer(4))竟找不到實例!去數據庫里看了有4這個記錄,再試著findByPrimaryKey別的已存在的

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>