jboss知识.docx
- 文档编号:8898039
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:14
- 大小:30.92KB
jboss知识.docx
《jboss知识.docx》由会员分享,可在线阅读,更多相关《jboss知识.docx(14页珍藏版)》请在冰点文库上搜索。
jboss知识
JBOSS安装配置
第一章安装运行JBOSS
1安装JBOSS
JBOSS最新发布的AS(ApplicationServer)版本是5.0.0.Beta1,最近一个稳定版本是4.0.5,我们使用的版本是4.0.4。
该版本比较稳定。
安装JBOSS很简单。
将jboss-4.0.4.GA.zip解压到一个目录(比如d:
\jboss-4.0.4.GA)下即可。
提示:
保留原来的zip文件,以免在使用过程中出错,还可以恢复到正常状态。
2运行JBOSS
在JBOSS的home目录(即$JBOSS_HOME\bin)有一个run.bat文件和一个run.sh文件,直接运行run.sh(linux系统)或run.bat(windows系统)即可启动JBOSS。
如果需要设置JBOSS应用启动的端口,可以修改$JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml文件
<!
--AHTTP/1.1Connectoronport8080-->
<Connectorport="8080"address="${jboss.bind.address}"
maxThreads="250"strategy="ms"maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false"redirectPort="8443"acceptCount="100"
connectionTimeout="20000"disableUploadTimeout="true"/>
可将这个port修改成需要的端口。
3JBOSS控制台
3.1如何查看Jboss的属性
启动JBOSS,打开http:
//IP:
Port/,可进入如下页面
http:
//IP:
Port/web-console和http:
//IP:
Port/jmx-console,Jboss是以JMX为核心的,console上并不直接提供配置和控制server的功能,各项操作需要找到对应的Mbean,调用相关方法。
3.2如何控制Jboss控制台的访问权限
web-console和jmx-console都可以使用Jboss提供的JAAS框架进行访问权限控制,修改应用war包内的WEB-INF/web.xml和jboss-web.xml,取消对应的注释即可。
以web-console为例
jboss-web.xml
<security-domain>java:
/jaas/web-console</security-domain>
web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>Anexamplesecurityconfigthatonlyallowsuserswiththe
roleJBossAdmintoaccesstheHTMLJMXconsolewebapplication
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>
jboss-web.xml中指明该应用的policy为web-console,授权的角色为JBossAdmin。
在$JBOSS_HOME/server/${app}/conf/login-config.xml中可以找到对policy:
web-console的配置
<application-policyname="web-console">
<authentication>
<login-modulecode="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag="required">
<module-optionname="usersProperties">web-console-users.properties</module-option>
<module-optionname="rolesProperties">web-console-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
在$JBOSS_HOME/server/${app}/conf/中建立文件web-console-roles.properties配置角色信息
#用户名=角色1,角色2,…,角色n
admin=JBossAdmin,HttpInvoker
在$JBOSS_HOME/server/${app}/conf/中建立文件web-console-users.properties配置用户信息
#用户名=密码(明文)
admin=admin
经过上述配置,需要以用户admin密码admin才能登录http:
//IP:
Port/web-console。
第二章发布目录及配置文件
1JBOSS的应用发布目录
JBOSS在控制台没有提供直接的目录发布应用的功能。
需要通过直接修改配置文件完成。
系统默认的发布目录是$JBOSS_HOME\server\default\deploy,直接将war包复制到这个目录下即可。
如果需要以目录方式部署,可以将war包解开后的整个目录复制过来,但注意目录名一定要修改成${app}.war这种形式。
2JBOSS配置文件
2.1增加jboss-web.xml
jboss-web.xml的作用类似于weblogic.xml,用于指定一些跟应用服务器相关的配置。
在jboss环境下,原有的weblogic.xml已经没有用处,可以删除。
在WEB-INF目录下新增jboss-web.xml,内容如下:
<?
xmlversion="1.0"encoding="UTF-8"?
>
<!
DOCTYPEjboss-webPUBLIC"-//JBoss//DTDWebApplication2.3V2//EN""http:
//www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<context-root>${app}</context-root>
<resource-ref>
<res-ref-name>jdbc/JDBCDS</res-ref-name>
<jndi-name>java:
/JDBCDS</jndi-name>
</resource-ref>
</jboss-web>
指定了web应用的context为/${app},以及指定web应用中使用数据源的jndi名java:
/JDBCDS
2.2修改web.xml
修改WEB-INF目录下的web.xml文件,增加如下内容:
<resource-ref>
<res-ref-name>jdbc/JDBCDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意这里面的配置关系:
web.xml里的<res-ref-name>jdbc/JDBCDS</res-ref-name>
中的jdbc/JDBCDS与jboss-web.xml里的<res-ref-name>jdbc/JDBCDS</res-ref-name>
中的jdbc/JDBCDS一致,前者是向后者看齐的;而jboss-web.xml里的 <jndi-name>java:
jdbc/MyDs</jndi-name>中的java:
jdbc/MyDs为前缀“java:
”加上在第一步(数据源配置文件配置)中配置的jndi名称组成。
2.3增加oracle-ds.xml
在JBOSS发布应用时,我们需要为数据库创建一个数据源描述文件,在$JBOSS_HOME/server/default/deploy/目录下,增加一个oracle-ds.xml文件,内容如下
<?
xmlversion="1.0"encoding="UTF-8"?
>
<datasources>
<local-tx-datasource>
<jndi-name>JDBCDS</jndi-name>
<connection-url>jdbc:
oracle:
thin:
@10.1.1.1:
1521:
ora9i</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>eafcem</user-name>
<password>eafcem</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
我们可以把$JBOSS_HOME\docs\examples\jca\oracle-ds.xml或oracle-xa-ds.xml拷贝到deploy目录下,修改其中的连接串、用户名、密码即可
第三章JBOSS配置
以下以Linux平台为例:
Jboss部署位置用$JBOSS_HOME指代
1、精简服务(可选)
default配置中有一些我们不需要的服务,在deploy目录下以xml或sar的形势存在。
可以删除以加快启动速度减少资源占用,目前确认可以删除的内容如下
n jboss-aop.deployer
n jbossws14.sar
n jms
n uuid-key-generator.sar
n bsh-deployer.xml
n cache-invalidation-service.xml
n client-deployer-service.xml
n ear-deployer.xml
n ejb-deployer.xml
n hsqldb-ds.xml
n jboss-ha-xa-jdbc.rar
n jsr88-service.xml
n mail-ra.rar
n mail-service.xml
n viconf/jboss-service.xml,删除以下内容
<!
--====================================================================-->
<!
--ClassLoading -->
<!
--====================================================================-->
<mbeancode="org.jboss.web.WebService"
name="jboss:
service=WebService">
<attributename="Port">8083</attribute>
<!
--Shouldnon-EJB.classfilesbedownloadable-->
<attributename="DownloadServerClasses">true</attribute>
<!
--Shouldresourcesotherthan.classfilesbedownloadable.Both
DownloadServerClassesandDownloadResourcesmustbetrueforresources
tobedownloadable.Thisisfalsebydefaultbecauseitsgenerallya
badideaasserverconfigurationfilesthatcontainersecurity
informationcanbeaccessed.
-->
<attributename="DownloadResources">false</attribute>
<attributename="Host">${jboss.bind.address}</attribute>
<attributename="BindAddress">${jboss.bind.address}</attribute>
<!
--Usethedefaultthreadpoolfordynamicclassloading-->
<dependsoptional-attribute-name="ThreadPool"
proxy-type="attribute">jboss.system:
service=ThreadPool</depends>
</mbean>
2、修改jboss运行参数配置文件
修改run.conf,修改或增加以下内容,参数值根据实际情况调整
MAX_FD="8192"
JAVA_HOME="/opt/aspire/product/jboss/jdk1.5.0_10"
JAVA_OPTS="-server-Xms512m-Xmx1024m-Xloggc:
./gc/$$-XX:
PermSize=64m-XX:
MaxPermSize=128m-XX:
-UseParallelGC-Dsun.rmi.dgc.client.gcInterval=3600000-Dsun.rmi.dgc.server.gcInterval=3600000"
3、创建启动脚本
在$JBOSS_HOME/server/default创建启动脚本start,内容如下
mvnohup.outnohup.bak
nohup$JBOSS_HOME/bin/run.sh-cdefault-Prun.conf&>nohup.out
4、创建停止脚本
在$JBOSS_HOME/server/default创建启动脚本down,内容如下
$JBOSS_HOME/bin/shutdown.sh--server=jnp:
//localhost:
1099--shutdown
其中11099端口为示意,请根据实际的JNDI端口修改。
5、数据库驱动
JBOSS不带oraclejdbcdriver,需要手工放置classes12.jar到$JBOSS_HOME/server/default/lib目录下。
6、log4j的问题
JBOSS自己的log4j和应用Log4j冲突的问题,目前暂时的做法删除JBOSS自带的server/default/deploy目录下的log4j.jar,启动时会报一个错,但simf的日志可正常使用,在$JBOSS_HOME/bin目录下会生成eaflog目录
7、修改端口(可选)
如果在一台机器上部署了多个jbossserver或者jboss默认端口已被其它应用使用,需要修改相关端口以避免端口冲突。
目前确认需要修改的配置如下
vi$JBOSS_HOME/server/default/conf/jboss-service.xml
n JNDI端口:
默认1099
<mbeancode="org.jboss.naming.NamingService"
name="jboss:
service=Naming"
xmbean-dd="resource:
xmdesc/NamingService-xmbean.xml">
......
<attributename="Port">1099</attribute>
<!
--
<attributename="RmiPort">1098</attribute>
-->
n RMI端口:
默认4444/4445
<mbeancode="org.jboss.invocation.jrmp.server.JRMPInvoker"
name="jboss:
service=invoker,type=jrmp">
<attributename="RMIObjectPort">4444</attribute>
.........
</mbean>
……
<mbeancode="org.jboss.invocation.pooled.server.PooledInvoker"
name="jboss:
service=invoker,type=pooled">
......
<attributename="ServerBindPort">4445</attribute>
</mbean>
vi$JBOSS_HOME/eaf/deploy/jbossweb-tomcat55.sar/server.xml
n HTTP端口:
默认8080
<Connectorport="8080"address="${jboss.bind.address}"
maxThreads="250"strategy="ms"maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false"redirectPort="8443"acceptCount="100"
connectionTimeout="20000"disableUploadTimeout="true"URIEncoding="UTF-8"/>
8,中文乱码问题:
参考7中,在后面加上URIEncoding="UTF-8"即可
1。
访问端口配置
编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml
将8080改为你希望访问的端口(例如:
8888)
--AHTTP/1.1Connectoronport8080-->
maxThreads="250"strategy="ms"maxHttpHeaderSize="8192" emptySessionPath="true" enableLookups="false"redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true"URIEncoding="UTF-8"/> 2。 虚拟目录配置: 编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml 在之前增加: \\test"debug="1"reloadable="true"override="true"crossContext="true"/> 其中path为虚拟目录名,docBase为硬盘路径(可为绝对路径)reloadable为类变更时是否重新加载 3。 解决附件汉字问题: a.编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml 在Connector属性最后增加: URIEncoding="UTF-8" --AHTTP/1.1Connectoronport8080--> maxTh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jboss 知识