JBOSS應用中間件


 首先:JBOSS是EJB的服務器,就像TOMCAT是JSP的服務器一樣

軟件名稱JBoss
開發商Redhat
軟件語言java
支持標准EJB 1.1、EJB 2.0、EJB3.0

JBOSS是一個基於J2EE的開放源代碼應用服務器。 JBoss代碼遵循LGPL許可,可以在任何商業應用中免費使用。JBoss是一個管理EJB的容器和服務器,支持EJB 1.1、EJB 2.0和EJB3的規范。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。

 

  • 1、JBoss是免費的,開放源代碼J2EE的實現,通過LGPL許可證進行發布。但同時也有閉源的,開源和閉源流入流出的不是同一途徑。
  • 2、JBoss需要的內存和硬盤空間比較小。
  • 3、安裝便捷:解壓后,只需配置一些環境變量即可。
  • 4、JBoss支持"熱部署",部署BEAN時,只拷貝BEAN的JAR文件到部署路徑下即可自動加載;如果有改動,也會自動更新。
  • 5、JBoss與Web服務器在同一個Java虛擬機中運行,Servlet調用EJB不經過網絡,從而大大提高運行效率,提升安全性能。
  • 6、用戶可以直接實施J2EE-EAR,而不是以前分別實施EJB-JAR和Web-WAR,非常方便。
  • 7、Jboss支持集群

環境搭建

編輯
一、安裝JDK
java應用當然首先需要安裝java運行環境(JRE),JRE提供了運行java的基本環境。安裝jboss需要jdk,jdk中包含jre.
安裝完JDK后,需要做如下配置:
我的電腦->;屬性->;高級->;環境變量,在 系統變量中點擊新建下面二項:
1. 名:JAVA_HOME,值:jdk的安裝路徑
2. 名:CLASS_PATH,值:%JAVA_HOME%\lib
在系統變量path中增加如下內容:;%JAVA_HOME%\bin;
這些做完后,在命令窗口中運行java -version有輸出便可
二、安裝Jboss
Jboss是Java EE 應用服務器(就像Apache是web服務器一樣),專門用來運行Java EE程序的。
安裝jboss很簡單,它不需要安裝,直接解壓到一個目錄下即可
三、安裝AOP
對於Jboss我們使用了一些其它組件:AOP,用它來做權限處理,(AOP是一個編程模型,用來對處理代碼的方面,橫切面),然后jboss自帶有,但是自帶的不能滿足要求,所以需要單獨安裝和配置
下載解壓后,把其中的jboss-40-install/jboss-aop-jdk50.deployer下的所有的文件拷貝到jboss目錄的jboss/server/default/deploy/jboss-aop-jdk50.deployer下,覆蓋其中的所有文件
打開jboss/server/default/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml文件,把其中的< attribute name=”EnableLoadtimeWeaving”>false< /attribute>;上的false修改為true.
打開jboss/bin/run.bat(如果是在linux則是jboss/bin/run. s h)文件,修改其中的JAVA_OPTS=”-Dprogram. name=$PROGNAME $JAVA_OPTS”為JAVA_OPTS=”-D program. na me=$PROGNAME -javaagent:pluggable-instrumentor.jar $JAVA_OPTS”.其中有顏色的部分是加上的。
把aop解壓目錄下的lib/pluggable-instrumentor.jar文件拷貝到jboss/bin目錄下
AOP安裝完成
 
四、部署應用
跟apache一樣,jboss也有一個部署目錄,那就是jboss/server目錄,其中有三個目錄:all,default,minimal,代表了jboss提供的三種部署方式,all表示jboss提供的服務全部打開,default表示默認的jboss服務,minimal表示只打開最基本的。這里面可以增加自己的部署,我們只使用default。
進入default目錄后,有以下幾個目錄:
conf:一些配置文件
data:保存的數據,比如有狀態會話bean
deploy:部署目錄,所有的應用都部署在這里面,相當於apache的htdocs
lib:部署的應用程序需要使用到的其它庫(jar)
log:jboss的日志
tmp:部署應用產生的臨時文件
work:工作目錄,所部署的應用(一些jar 壓縮文件)會被解壓在這里
 
要部署我們的應用,還需要做以下幾步:
A。把jboss/docs/examples/ jca/mysql-ds.xml拷貝到jboss/server/default/deploy目錄下,並做如下修改:
< connection-url>jdbc:mysql://你要連接的數據庫的ip:3306/數據庫名zeroDateTimeBehavior=convertToNull< /connection-url>
< driver-class>com.mysql.jdbc.Driver< /driver-class>
< user-name>;用戶名< /user-name>
< password>;密碼< /password>
B。下載jdbc驅動並把解壓后的mysql-connector-java-5.XX-bin.jar拷貝到部署目錄的lib中(server/default/lib)
C。現在數據庫連接就配置好了,接下來部署myro3,到svn上下載myro_server\build\jar\myro_server.jar,和myro_server\src\META-INF\jboss-aop.xml,myro_server\lib\jml-1.0b3-full.jar,myro_server\lib\ymsg_network_v0_64.jar,myro_server\lib\ymsg_support_v0_64.jar,都拷貝到server/default/deploy下面就可以了.
到此jboss服務器和myro3應用就部署好了,現在只需要啟動jboss,便可通過rcp客戶端訪問你的jboss
打開命令提示窗口,到jboss的bin目錄下面,運行:run -b 你的ip 啟動jboss便可
剩下的就是修改rcp客戶端程序中myroConfig.properties把其中連接的jboss的ip修改為你的ip即可.
對於gwt應用的部署,到時候要提供一個war文件,把它部署到server/default/deploy下面就行了,然后訪問http://你的ip:8080/war文件名就可以訪問gwt程序.。同時把myro_server/myroConfig.properties部署到jboss/bin中。以上,Jboss環境搭建步驟介紹完畢。
 

使用技巧

目錄結構

1、bin:開始和停止JBoss的地方。
其中有兩個主要的 批處理文件:run.bat和shutdown.bat。要啟動JBoss只要執行run.bat文件即可;要停止JBoss必須執行帶參數的shutdown.bat。
一般 運行命令:run -c 服務器名,例如:run -c all 或 run -c default 或自定義的服務器 run -c ejbtest。
注意,shutdown.bat文件直接執行並不會自動停止JBoss,它必須要輸入參數,參數意義如下:
-h 顯示幫助信息;
-D 設置系統屬性;
-- 停止處理選項;
-s 停止用JNDI URL指定的 遠程服務
-n 通過制定JMX名字來停止服務;
-a 適配到指定的JNDI名稱的遠程服務;
-u 指定用戶名稱;
-p 指定用戶密碼;
-S 停止服務器;
-e 從 虛擬機退出;
-H 暫停(掛起)。
一般,我們使用-S選項來停止服務器。即執行shutdown -S。
2、docs:放置JBoss的例子、測試腳本和各種腳本配置文件的DTD。
3、lib:放置JBoss所需要的部分jar包文件。
4、client:放置EJB客戶端運行時所需要的jar包。
5、server:放置各啟動類型的服務器端EJB配置所需要的文件等。
6、backup
 
在JBOSS中發布文件
1、制作JSP的war部署文件
用"jar cvf hello.war index.jsp main.jsp"的方式生成把index.jsp和main.jsp文件加入到hello.war中。把生成的hello.war拷貝到jboss 安裝目錄\server\default\deploy\下,部署成功。用"http://localhost:8080/hello/"或"http://localhost:8080/hello/index.jsp"這兩個地址進行測試。
2、制作Servlet的war部署文件
A、用[ javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java ]的形式編譯HelloWorld.java(這是一個Servlet)得到HelloWorld.class
B、寫一個 web.xml配置文件
代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
"http://java.sun. com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>hello.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
每個標記(標簽)必須小寫,否則會出錯。
C、先在c:\servlet下建立一個 web-inf目錄,在目錄中放入 web.xml文件。
D、在web-inf目錄下建立一個classes目錄,放入編譯好的HelloWorld.class文件
E、在c:\servlet下執行jar cvf hello.war *.*,很快就生成了一個名為hello.war的文件,接着把hello.war復制到jboss的 安裝目錄\server\default\deploy\下完成部署。
3、也可以不打包,把文件放在deploy下的同名文件夾下也可以。比如原來是制作成hello.war文件,可以建立一個名稱為hello.war的文件夾,把要發布的文件拷貝到這個目錄底下也可以發布成功。
 
補充
1、JBoss的默認端口是8080
2、對於NT和Win2000系統如果你要安裝NT或Win2000服務的話,可以把JBoss加在 系統服務中,避免你每次需要到JBoss目錄下運行run.bat命令,只是當系統啟動時,自動啟動JBoss服務器
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM