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

將嵌入式 JBoss 整合到 Tomcat 中運行 Seam 應用

     編輯:Java 相關知識

背景與環境

為研究 Seam 框架(特別是 jBPM 整合),官方推薦 JBoss AS,但體積超 100MB。發現 Seam 文檔支持 Tomcat + 嵌入式 JBoss 方案,嵌入式 JBoss 僅 20MB,輕量許多。

軟件版本:

  • OS:Win7 專業版
  • JDK:1.6.0_18
  • Tomcat:6.0.24
  • Embedded JBoss:beta3.SP10
  • Seam:2.2.1.CR1
  • ANT:1.7.1
版本匹配至關重要,請盡量對齊環境以避免兼容性坑。

嵌入式 JBoss 部署到 Tomcat 步驟

1. 文件複製

解壓嵌入式 JBoss,將 bootstrap 和 lib 目錄下除 jndi.properties 外的所有文件複製到 Tomcat 的 lib 目錄。

2. 移除衝突 JAR

從 Tomcat lib 刪除 annotations-api.jar(嵌入式 JBoss 自帶更新版本)。

3. 修改 conf/server.xml 添加監聽器

在所有現有 Listener 之後添加嵌入式 JBoss 引導監聽器:

<Server port="8005" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.core.AprLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" />
    <!-- 嵌入式 JBoss 監聽器 -->
    <Listener className="org.jboss.embedded.tomcat.EmbeddedJBossBootstrapListener" />
</Server>

4. 修改 conf/context.xml 啟用 WAR 掃描

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <!-- 嵌入式 JBoss Web 監聽器 -->
    <Listener className="org.jboss.embedded.tomcat.WebinfScanner" />
</Context>

5. JDK 6 環境變量設置

JAVA_OPTS 設置

在系統環境變量 JAVA_OPTS 添加:

-Dsun.lang.ClassLoader.allowArraySyntax=true

部署 Seam DVD Store 示例應用

1. 配置構建屬性

編輯 build/default.build.properties,設置 tomcat.home:

tomcat.home=G:\dev\jboss\apache-tomcat-6.0.24

2. 執行部署命令

cd examples\dvdstore
ant tomcat.deploy

3. 驗證部署

訪問 https://localhost:8080/jboss-seam-dvdstore,應看到示例首頁:

DVD Store 首頁

關鍵提示

  • 嵌入式 JBoss 版本必須與 Seam 版本匹配
  • Tomcat 6.x 較穩定,避免使用 7+ 版本
  • Windows 下路徑建議使用正斜杠或雙反斜杠
  • 若啟動報錯,優先檢查 JAR 衝突與監聽器順序
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved