首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JBuilder 7 + WebLogic 7 + MySQL:EJB 開發環境完整配置實戰手冊

     編輯:Java 程式設計入門

前言:踩坑歷程與文檔缺口

整合 JBuilder 7、WebLogic 7 與 MySQL 開發 EJB 曾是讓許多開發者「欲仙欲死」的噩夢。網路資料多基於舊版本(JB4-6, WLS5-6),且缺乏從配置到部署的完整鏈路指引。本文沉澱實戰經驗,提供經驗證的完整配置流程,涵蓋 BMP 與 CMP 兩種實體 Bean 模式。

一、基礎環境準備

1.1 MySQL 資料庫與 JDBC 驅動

  • 建立資料庫:ejbdb,用戶 root/111111。
  • 將 mysql.jar 放入 %JAVA_HOME%/lib/ 或自定義目錄(避免軟碟機路徑)。

1.2 WebLogic 7 配置關鍵步驟

  1. 修改啟動類別路徑:編輯 c:\bea\weblogic700\bin\startWLS.cmd(而非 domain 目錄下的腳本),在 CLASSPATH 追加 mysql.jar 路徑。
  2. 域配置精靈:建立 mydomain,Admin Server 與 Managed Server 監聽地址均設為機器實際 IP(非 localhost),建立系統用戶 system/aaaaaa。
  3. 連接池與資料源:
    • Connection Pool:Name=Mysql Connection Pool,URL jdbc:mysql://localhost:3306/ejbdb,Driver org.gjt.mm.mysql.Driver,屬性 user=root、password=111111,Target 指派 myserver。
    • Tx Data Source:Name=Mysql Tx Data Source,JNDI ejbPool(EJB 引用關鍵),關聯上述 Pool,勾選 Emulate Two-Phase Commit 與 Row Prefetch Enabled。

1.3 JBuilder 7 整合配置

  • 環境變數 TEMP/TMP 指向無空格路徑(如 c:\winnt\temp),否則發布失敗。
  • Tools → Configure Libraries 加入 mysql.jar。
  • Tools → Configure Servers 啟用 WebLogic 6.x+,Home Directory 指向 c:/bea/weblogic700/server,Classpath 補充 mysql.jar。
  • JDK 設置:務必使用 JBuilder 自帶 JDK 1.3.1 或 BEA 專用 JDK,JDK 1.4 會導致本地方法衝突。
  • Domain 目錄、用戶名密碼、Server Name 填寫一致。
  • Enterprise Setup → CORBA 新增配置,ORB Tools 指向 WebLogic 目錄,輸出目錄無空格。
  • 專案屬性:Required Libraries 勾選 WebLogic Client/Deploy,Server 選 Single Service → WebLogic 6.x+。
  • Database Pilot 測試連線:Driver org.gjt.mm.mysql.Driver,URL mysql://localhost:3306/ejbDB(無 jdbc: 前綴),測試通過。

二、BMP 實體 Bean 開發全流程

2.1 設計器操作

  1. 新建 EJB Module AccountApp,選 BMP Entity Bean。
  2. Bean 命名規範(建議):
    • Bean Class: com.example.AccountBean
    • Remote Home: AccountHome,Remote: Account
    • Local Home: AccountLocalHome,Local: AccountLocal
  3. 手工撰寫 Bean 類與介面代碼(加深理解),補充例外類 AccountException。

2.2 編譯、運行與部署

  • Make Project → F9 運行(自動啟動 WLS)。
  • 設計器右鍵 Deploy 發布,Console 驗證 AccountApp 出現。

2.3 測試客戶端與資料庫腳本

-- MySQL 建表
CREATE TABLE accounts (
  id VARCHAR(60) PRIMARY KEY,
  ownerName VARCHAR(60),
  balance DOUBLE(8,2) DEFAULT 0.00
);

新建 EJB Test Client AccountClient,編譯運行驗證 CRUD 功能。

三、CMP 2.0 實體 Bean:更簡潔的持久化

3.1 關鍵差異:從資料庫 Schema 反向生成

CMP 不在 Bean 設計器介面直接 Create EJB,而是:

  1. 雙擊 Module 設計器 → DataSources 右鍵 Import Schema From Database。
  2. 選擇驅動與 URL(注意移除重複 jdbc:),JNDI Name 填 ejbPool。
  3. 展開 ejbPool → 右鍵資料表 productbean → Create CMP 2.0 Entity Bean。

3.2 表欄位映射與 Finder 方法

  • CMP Properties 選 Single table mapping,主鍵與欄位拖曳連線。
  • 系統自動生成 findByPrimaryKey,其餘 Finder 需手工撰寫 EJB-QL:
    • findByName: SELECT OBJECT(p) FROM ProductBean AS p WHERE p.name = ?1
    • findExpensiveProducts: 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

3.3 部署驗證同 BMP 流程

四、避坑錦囊

  • MySQL 表名自動轉小寫,Bean 名稱同步調整(如 Productbean → 手改 ProductBean)。
  • JBuilder 專案編碼設為 UTF-8,避免中文亂碼。
  • WLS 控制台無法訪問時,檢查防火牆、IP 綁定、啟動日誌異常。
  • CMP 開發中若報 ejbLoad/ejbStore 錯誤,檢查欄位映射大小寫與資料型別對應。

結語

這套環境雖屬經典組合,但完整配置邏輯對理解 Java EE 伺服器整合、資料源管理、EJB 容器契約極具教學價值。掌握此流程,遷移至現代 WildFly、TomEE、Spring Boot + JPA 將輕鬆得多。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved