下載安裝與運行JBoss
EJB3.0應用需要運行在JDK1.5以上版本。
EJB3.0應用需要運行在EJB容器裏,JavaEE應用服務器包含Web容器和EJB容器。
EJB3.0應用需要以下版本的JavaEE應用服務器:
Jboss(4.2.x以上版本)
Weblogic(10以上版本)
注意:Tomcat目前只是Web容器,它不能運行EJB應用。
jboss的下載頁面爲 http://www.jboss.org/jbossas/downloads/
- 首先要安裝JDK,配置JAVA_HOME環境變量
- 如果是JDK1.5版本,可選擇jboss-5.0.0.GA.zip
如果是JDK6.0版本,可選擇jboss-5.0.0.GA-jdk6.zip
下載完成後,將其解壓縮後即可完成安裝,解壓縮後將其放置到一個不帶空格的目錄(若目錄帶有空格,例如:C:"Program Files,日後可能會產生一些莫名的錯誤)。
添加環境變量:
1)在“系統變量”裏添加JBOSS_HOME變量,值爲Jboss的安裝路徑,
如:JBOSS_HOME C:/jboss-5.0.0.GA
2)爲了方便jboss的命令,需要把jboss的bin目錄添加到系統Path路徑裏,
如:Path ;%JBOSS_HOME%/bin
在此,JBoss的安裝工作已經結束,可通過如下方式測試安裝是否成功:
- 運行JBoss安裝目錄"bin"run.bat,如果窗口中沒有出現異常,且出現:10:16:19,765 INFO [Server] JBoss (MX MicroKernel) [5.0.Beta4 (build: SVNTag=5.0.Beta4 date=20080831605)] Started in 30s:828ms字樣,則表示安裝成功。
- 我們可以通過訪問: http://localhost:8080/ 進入JBoss的歡迎界面,點擊JBoss Management下的JMX Console可進入JBoss的控制檯。
若啓動失敗,可能由以下原因引起:
1)JBoss所用的端口(8080,1099,1098,8083等)被佔用。一般情況下爲8080端口被佔用(例如,Oracle佔用了8080端口),此時需要修改JBoss的端口,方法爲進入JBoss安裝目錄/server/default/deploy/jbossweb-tomcat55.sar目錄,修改其下的server.xml文件錄,在此文件中搜索8080,將其改成你想要的端口即可(例如8088);
2) JDK安裝不正確;
3) JBoss下載不完全。
JBoss 的目錄結構說明
目錄 |
描述 |
bin |
啓動和關閉 JBoss 的腳本( run.bat 爲 windows 系統下的啓動腳本, shutdown.bat 爲 windows 系統下的關閉腳本)。 |
client |
客戶端與 JBoss 通信所需的 Java 庫( JARs )。 |
docs |
配置的樣本文件(數據庫配置等)。 |
docs/dtd |
在 JBoss 中使用的各種 XML 文件的 DTD 。 |
lib |
一些 JAR , JBoss 啓動時加載,且被所有 JBoss 配置共享。(不要把你的庫放在這裏) |
server |
各種 JBoss 配置。每個配置必須放在不同的子目錄。子目錄的名字表示配置的名字。 JBoss 包含 3 個默認的配置: minimial , default 和 all ,在你安裝時可以進行選擇。 |
server/all |
JBoss 的完全配置,啓動所有服務,包括集羣和 IIOP 。 |
server/default |
JBoss 的默認配置。在沒有在 JBoss 命令行中指定配置名稱時使用。 |
server/default/conf |
JBoss 的配置文件。 |
server/default/data |
JBoss 的數據庫文件。比如,嵌入的數據庫,或者 JBossMQ |
server/default /deploy |
JBoss 的熱部署目錄。放到這裏的任何文件或目錄會被 JBoss 自動部署。 EJB 、 WAR 、 EAR ,甚至服務。 |
server/default /lib |
一些 JAR , JBoss 在啓動特定配置時加載他們。 (default 和 minimial 配置也包含這個和下面兩個目錄。 ) |
server/default/log |
JBoss 的日誌文件。 |
server/default/tmp |
JBoss 的臨時文件。 |
server/default/work |
存放的是JSP編譯後的.java及.class文件,如果調試JSP時出錯了,可以到該目錄下(一級級去翻吧)去找對應的文件,調試問題。還有個小TIPS,有時我們明明把一個JSP更新到對應的目錄裏了,可是去刷新頁面時,內容還是舊的,爲了解決該問題,我們可以到work目錄下,將對應的.java及.class文件刪了,再刷新即可,這個原因不好推測,有時可以自動刷新,有時不行。單個的TOMCAT都能自動刷新,不知爲何集成到JBOSS裏卻有時不行。還需注意的事,你在清除舊的java、class文件時,不能爲了省事,而直接刪除目錄,否則刷新時會報錯的,等着你的就是要重啓JBOSS服務了。 |
- $JBOSS-HOME/server/下有3個目錄,all/default/minimal,它們是表示3種配置,全部的配置、默認配置、最小配置,我們在啓動JBOSS服務時,可以指定:
-
run –c all 表示是啓動all配置(將會加載所有服務);
-
run 表示是以默認配置啓動;
-
run –c mimimal 表示是啓動mimimal配置。
default/data default/log default/tmp default/work 這四個目錄可以刪除
"conf" 目錄的內容
文件 |
描述 |
jboss-minimal.xml |
這是 jboss-service.xml 配置文件的最簡單夫的示例(它是在 minimal 配置文件集裏使用的 jboss-service.xml)。 |
jboss-service.xml |
jboss-service.xml 定義了核心的服務及其配置。 |
jndi.properties |
jndi.properties 文件指定了當 InitialContext 使用無參數的構造函數創建時,在 JBoss 服務器裏使用的 JNDI InitialContext 屬性。 |
jboss-log4j.xml |
這個文件配置了 Apache log4j 框架類別優先級和 JBoss 服務器代碼使用的 appender。 |
login-config.xml |
這個文件包含了當使用基於 JAAS 的安全性時適用的服務器端驗證配置的樣本。 |
props/* |
props 目錄包含了用於 jmx-console 的用戶和角色屬性文件。 |
standardjaws.xml |
此文件提供了舊的 EJB 1.1 CMP 引擎的缺省配置。 |
standardjboss.xml |
此文件提供了缺省的容器配置。 |
standardjbosscmp-jdbc.xml |
此文件爲 JBoss CMP 引擎提供了缺省的配置文件。 |
xmdesc/*-mbean.xml |
xmdesc 目錄包含了 jboss-service.xml 文件裏配置的服務的 XMBean 描述符。 |
"deploy" 目錄的內容
文件 |
描述 |
bsh-deployer.xml |
此文件配置了可將 bean shell 腳本部署爲 JBoss 服務的部署者。 |
cache-invalidation-service.xml |
這個服務允許通過 JMS 通知的 EJB 緩存的自定義 invalidation。它缺省是禁用的。 |
client-deployer-service.xml |
此服務提供對 J2EE 應用程序客戶端的支持。它爲基於 application-client.xml 描述符的客戶端應用程序管理 java:comp/env 企業命名上下文。 |
ear-deployer.xml |
EAR 部署者是負責部署 J2EE EAR 文件的服務。 |
ejb-deployer.xml |
EJB 部署者是負責部署 J2EE EJB JAR 文件的服務。 |
hsqldb-ds.xml |
hsqldb-ds.xml 配置 Hypersonic 嵌入式數據庫服務。它設置嵌入的數據庫和相關的連接工廠。 |
http-invoker.sar |
http-invoker.sar 包含支持基於 HTTP 的 RMI 的脫管調用者(detached invoker)。它也包含基於 HTTP 訪問 JNDI 的代理綁定。 |
jboss-aop-jdk50.deployer |
此服務配置 AspectManagerService 並部署 JBoss AOP 應用程序。 |
jboss-bean.deployer |
jboss-bean.deployer 提供了 JBoss microcontainer,它部署包含在 .beans 文件裏的 POJO 服務。 |
jboss-ha-local-jdbc.rar |
jboss-ha-local-jdbc.rar 是支持數據源失效切換的 jboss-local-jdbc.rar 的實驗版本。 |
jboss-ha-xa-jdbc.rar |
jboss-ha-xa-jdbc.rar 是支持數據源失效切換的 jboss-xa-jdbc.rar 的實驗版本。 |
jboss-local-jdbc.rar |
jboss-local-jdbc.rar 是一個 JCA 資源適配器,它實現支持 DataSource 接口但不支持 JCA 的 JDBC 驅動的 JCA ManagedConnectionFactory 接口。 |
jboss-xa-jdbc.rar |
jboss-xa-jdbc.rar 是一個 JCA 資源適配器,它實現支持 XADataSource 接口的 JDBC 驅動的 JCA ManagedConnectionFactory 接口。 |
jbossjca-service.xml |
jbossjca-service.xml 是 JCA 規格的應用服務器實現。它提供了將資源適配器集成到 JBoss 服務器的連接管理工具。 |
jboss-web.deployer |
jboss-web.deployer 目錄提供 Tomcat servlet 引擎。 |
jbossws.sar |
jbossws.sar 提供 J2EE web 服務的支持。 |
jms/hsqldb-jdbc-state-service.xml |
hsqldb-jdbc-state-service.xml 提供 Hypersonic 的 JMS 狀態管理。 |
jms/hsqldb-jdbc2-service.xml |
hsqldb-jdbc2-service.xml 使用 Hypersonic 配置 JMS 持久性和緩存。它也包含 作爲 JMS 實現的核心服務的 DestinationManager MBean。 |
jms/jbossmq-destinations-service.xml |
jbossmq-destinations-service.xml 配置一系列 JMS 單元測試所使用的 JMS 隊列和主題。 |
jms/jbossmq-httpil.sar |
jbossmq-httpil.sar 提供運行通過 HTTP 使用 JMS 的 JMS 調用層。 |
jms/jbossmq-service.xml |
jbossmq-service.xml 文件配置了核心的 JBossMQ JMS 服務。 |
jms/jms-ds.xml |
jms-ds.xml 文件配置了和 jms-ra.rar JCA 資源適配器一起使用的 JBossMQ JMS 提供者。 |
jms/jms-ra.rar |
jms-ra.rar 是一個資源適配器,它爲 JMS 連接工廠實現了 JCA ManagedConnectionFactory 接口。 |
jms/jvm-il-service.xml |
jvm-il-service.xml 配置了 JVM 內部的 JMS 傳輸調用層。 |
jms/uil2-service.xml |
uil2-service.xml 配置了 JMS version 2 統一調用層。它是快速和可靠的基於自定義套接字的傳輸,用於 JVM 之間的消息傳遞。 |
jmx-console.war |
jmx-console.war 目錄提供 JMX 控制臺。JMX 控制臺提供管理 MBean 服務器的簡單的 web 界面。 |
jmx-invoker-service.sar |
jmx-invoker-service.sar 是一個未解壓的 MBean 服務歸檔,它開放了 JMX MBeanServer 接口方法的一個子集作爲 RMI 接口來啓用對 JMX 核心功能的遠程訪問。它和舊的 jmx-rmi-adaptor.sar 類似,區別是傳輸是由脫管調用者架構來處理的。 |
jsr-88-service.xml |
jsr-88-service.xml 提供了 JSR 88 遠程部署服務。 |
mail-ra.rar |
mail-ra.rar 是提供 JavaMail 連接器的資源適配器。 |
mail-service.xml |
mail-service.xml 文件是一個 MBean 服務描述符,它提供在 JBoss 服務器內部使用的 JavaMail 會話。 |
management/console-mgr.sar |
console-mgr.sar 提供 Web 控制臺。它是一個 web 應用程序/applet,提供比 JMX 控制臺更豐富的 JMX 服務器管理視圖。你可以用 URL http://localhost:8080/web-console/ 來訪問此控制臺。 |
monitoring-service.xml |
monitoring-service.xml 文件配置了警告監控器,如 JMX 通知使用的控制臺偵聽者和電子郵件偵聽者。 |
properties-service.xml |
properties-service.xml 文件是一個 MBean 服務描述符,它允許自定義 JavaBeans PropertyEditor 以及系統屬性。 |
scheduler-service.xml |
scheduler-service.xml 和 schedule-manager-service.xml 文件是 MBean 服務描述符,它提供一個調度類型的服務。 |
sqlexception-service.xml |
sqlexception-service.xml 文件是一個 MBean 服務描述符,它處理和供應商相關的 SQLException。 |
uuid-key-generator.sar |
uuid-key-generator.sar 服務提供基於 UUID 的密鑰生成工具。 |