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

WebLogic 常見基礎配置問題彙總

     編輯:Java 程式設計入門

整理 WebLogic Server 常見的啟動參數、模式切換、安全性、部署結構與 EJB/JMS 配置等 11 項基礎問題,附帶指令與配置檔說明,適用於管理員與開發人員快速查閱。

1. 指定 JVM 堆記憶體大小

編輯啟動腳本(Domain 下 bin/startWebLogic.sh 或 startManagedWebLogic.sh),加入:

set MEM_ARGS=-Xms32m -Xmx200m

或在 setDomainEnv.sh 中設定 USER_MEM_ARGS。-Xms 初始堆,-Xmx 最大堆。

2. 切換開發模式 / 生產模式

  • 管理主控台:Domain 結構 → 伺服器 → [伺服器名稱] → 配置 → 一般 → 「生產模式」核取方塊。
  • 啟動腳本:設定環境變數 PRODUCTION_MODE=true(生產模式)或 false(開發模式)。
  • 開發模式:自動部署啟用、預設安全性較寬鬆、JSP 自動重編譯。
  • 生產模式:需啟用鎖定/編輯會話、安全性預設嚴格、效能優化。

3. 啟動時免輸入帳號密碼

  • 啟動腳本加入:WLS_USER=weblogic、WLS_PW=password(明文,不建議生產環境)。
  • 或建立 $DOMAIN_HOME/servers//security/boot.properties:
    username=weblogic
    password=password
    啟動時會自動加密。

4. 管理主控台配置儲存位置

所有 Domain 級配置(JMS、EJB、資料來源、叢集等)儲存在 $DOMAIN_HOME/config/config.xml。此為核心配置檔,建議納入版本控制。

5. Domain 預設目錄結構與應用部署位置

$DOMAIN_HOME/
├── config/              # config.xml 及子配置
├── servers/
│   └── /
│       ├── applications/  # 自動部署目錄 (開發模式)
│       ├── stage/         # 生產模式部署暫存
│       ├── logs/          # 伺服器日誌
│       └── tmp/           # 暫存檔
└── autodeploy/          # 開發模式自動部署監控目錄

部署 Web 應用:將 WAR 或解壓目錄放入 applications/(或 autodeploy/),結構需符合 Servlet 標準:WEB-INF/web.xml、WEB-INF/classes/ (JavaBean)、WEB-INF/lib/ (JAR)。設定預設 Web 應用 (Context Root = "/") 可直接以 https://host:port/hello.jsp 存取。

6. 查看已部署 EJB

管理主控台 → 部署 → 篩選類型「EJB」即可查看所有已發布的 EJB 模組與狀態。

7. SSL 配置與雙向認證

  • 預設使用 Demo Identity/Trust Keystore (DemoIdentity.jks, DemoTrust.jks)。
  • 啟用 SSL:伺服器配置 → 一般 → 「啟用 SSL 監聽埠」→ 設定埠號 (預設 7002)。
  • 生產環境:向 CA 申請憑證,建立 Identity Keystore (私鑰+憑證) 與 Trust Keystore (CA 憑證),配置至伺服器 Keystores 標籤。
  • 雙向 SSL:勾選「雙向 SSL」,Client 需提供 Client 憑證。

8. EJB 部署描述檔

EJB 類型標準描述檔WebLogic 專用描述檔額外檔案
Session / Entity / MDBejb-jar.xmlweblogic-ejb-jar.xml—
CMP Entity Beanejb-jar.xmlweblogic-ejb-jar.xmlweblogic-cmp-rdbms-jar.xml (關聯表/欄位對應)

9. EJB 介面實作規則

遠端/本地介面 (Remote/Local Interface) 以及 Home 介面 不需由 Bean 類別直接實作。容器會產生對應的 EJBObject/EJBLocalObject 實作類別 (Stub/Skeleton),執行期以此代理物件處理遠端呼叫、安全性、交易攔截。Bean 類別僅實作 javax.ejb.SessionBean 或 EntityBean 介面的生命週期方法 (ejbCreate, ejbActivate 等) 及業務邏輯方法。

10. MDB 持久化與非持久化訂閱差異

  • 持久化 (Durable):訂閱者離線時訊息由 JMS 保留,重新上線時接收。需設定 durable-subscription-name 與 client-id。
  • 非持久化:訂閱者離線期間的訊息丟棄,不保證送達。
  • 配置於 ejb-jar.xml 的 message-driven → acknowledge-mode (Auto-acknowledge / Dups-ok-acknowledge) 及 weblogic-ejb-jar.xml 的 durable-subscription-deletion。

11. 常見 J2EE 設計模式

模式用途
Session Facade用 Session Bean 封裝 Entity Bean 存取,減少遠端呼叫、統一交易邊界
Message Facade用 MDB 實現非同步處理,解耦前端請求與後端處理
EJB Command用 Command Bean 取代 Session Bean,輕量化業務邏輯封裝
Data Transfer Object (DTO)簡化 Entity Bean 遠端資料傳輸,減少細粒度遠端呼叫
Value List Handler大量資料分頁查詢,避免一次載入大量 Entity Bean
Business Delegate客戶端委派業務查找與異常處理,解耦表現層與業務層

設計品質直接影響系統效能、擴展性、維護性與開發效率,專案越複雜越需重視架構設計。

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