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

J2EE 環境配置完整指南:JDBC、事務、埠口、日誌、安全與記憶體管理

     編輯:J2EE

配置檔案位置

所有設定檔位於 `/config/` 目錄,均為文字檔,可用任意編輯器修改。通常無需變更,除非使用非 Cloudscape 資料庫。

1. JDBC 驅動部署

驅動 JAR 放置

複製至 `/lib/system/` 並確保包含在 `J2EE_CLASSPATH` 環境變數中。

建議:在啟動腳本設定 `J2EE_CLASSPATH`(Unix: `bin/userconfig.sh`,Windows: `bin/userconfig.bat`),並從系統 `CLASSPATH` 移除驅動 JAR 避免衝突。

2. JDBC 1.0 驅動配置 (config/default.properties)

# 驅動類別名稱 (冒號分隔)
jdbc.drivers=oracle.jdbc.driver.OracleDriver:com.my.Driver

# 資料源定義: JNDI名稱|JDBC_URL (管線符分隔多組與名稱/URL)
jdbc.datasources=jdbc/Oracle|jdbc:oracle:thin:@host:1521:sid|jdbc/MyDB|jdbc:mysql://host/db
  • JNDI 名稱語法:`jdbc/<邏輯名稱>`
  • URL 格式請參考驅動廠商文件

3. 支援 JTA 的 JDBC 2.0 XA 驅動配置

# XA 資料源清單
jdbc20.datasources=jdbc/Merant|jdbc/XAMerant|jdbc/Finch|jdbc/XAFinch

# 每組 XA 資料源屬性 (N=0,1,2...)
xadatasource.0.jndiname=jdbc/XAMerant
xadatasource.0.classname=com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource
xadatasource.0.dbuser=admin
xadatasource.0.dbpassword=secret
xadatasource.0.prop.url=jdbc:sequelink://host:5000/[Oracle]

4. 事務管理配置

# 分散式事務回復 (需 JDBC 2.0 XA 驅動、跨庫操作、兩階段提交)
distributed.transaction.recovery=true

# 容器管理事務逾時秒數 (0=無限制)
transaction.timeout=30
  • Bean-managed 事務請使用 `UserTransaction.setTransactionTimeout()`
  • Servlet/JSP 同樣可引用此 API

5. 埠口配置

服務預設埠設定檔屬性
EJB (RMI/IIOP)9191ejb.propertieshttp.port
HTTP8000web.propertiesport
HTTPS7000web.propertieshttps.port
Naming (JNDI/ORB)1050orb.propertiesport

9191 提供 Client 下載 Stub;8000/7000 為 Web 服務;1050 為 JNDI 命名服務。

6. 日誌系統

# 日誌目錄 (相對 J2EE_HOME)
log.directory=logs

# 輸出檔名稱
log.output=output.log

Single VM 模式 (預設)

目錄:`/logs/<主機名>/` 檔案:`system.out`、`system.err`、`event.log`、`output.log`、`error.log`、`audit.log` (需 `auth.properties` audit=true)

Multi-VM 模式 (j2ee -multiVM)

EJB:`logs/ejb/ejbd/`、HTTP:`logs/ejb/httpd/`、部署應用:`logs/ejb//`、Web Server 另行配置 `web.properties`

7. 安全設定 (config/auth.properties)

# 未授權用戶預設帳號
default.principal.name=guest
default.principal.password=guest123

# Keystore 密碼 (HTTPS 客戶憑證)
keystore.password=changeit

# ANYONE 角色名稱 (預設所有用戶可呼叫)
anyone.role.name=ANYONE

8. 記憶體管理與鈍化

# 鈍化觸發記憶體閾值 (bytes,預設 128MB)
passivation.threshold.memory=128000000

調低值 → 更頻繁鈍化;調高值 → 記憶體壓力較大但減少序列化開銷。

9. 其他常用設定

  • JNDI Name Server 非本機:修改 `orb.properties` 的 `host=localhost`
  • HTTP 文件根目錄:`web.properties` 的 `documentroot=public_html/`
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved