JBOSS使用指南Word文件下载.docx
- 文档编号:20180500
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:58
- 大小:608.41KB
JBOSS使用指南Word文件下载.docx
《JBOSS使用指南Word文件下载.docx》由会员分享,可在线阅读,更多相关《JBOSS使用指南Word文件下载.docx(58页珍藏版)》请在冰豆网上搜索。
25
1.2实体Bean:
26
1.3消息驱动Bean(MDB):
2.会话Bean(SessionBean)26
2.1因为客户端需要通过JNDI查找EJB,那么JNDI是什么26
2.2StatelessSessionBeans(无状态bean)开发28
2.3StatelessSessionBean与StatefulSessionBean的区三别32
2.4SessionBean的生命周期32
3.消息驱动Bean(MessageDrivenBean)33
3.1Queue消息的发送与接收(PTP消息传递模型)33
3.2Topic消息的发送与接收(Pub/sub消息传递模型)39
4.实体Bean(EntityBean)44
4.1持久化persistence.xml配置文件44
4.2实体Bean发布前的准备工作45
4.3单表映射的实体Bean45
一.JBOSS入门
1.下载和安装JBoss
在下载和安装JBoss之前,请开发者确认一下自己的机器是否安装了最新版的JVM。
为运行JBoss4.2.2GA,开发者必须提供Java5虚拟机。
在我们动身之前,请再次检查一下您是否安装了合适的JDK,而且JAVA_HOME环境变量是否已经设置好。
用户可以从JBoss网站(http:
//www.jboss.org/jbossas/downloads/)免费下载到JBoss应用服务器。
其中,可用的二进制版本格式分别有.zip、.tar.gz以及.bz2。
JBoss二进制发布版的具体内容与版本格式无关,用户需要根据各自的平台选择相应的二进制版本。
在您下载完成JBoss后,将它解压到合适的机器位置上。
有一点请注意,包含解压目录的完整路径(比如,Windows操作系统中的ProgramFiles目录)上不能够含有空格,因为这将导致错误的出现。
2.JBoss的目录结构
安装JBoss会创建下列目录结构:
目录
描述
bin
启动和关闭JBoss的脚本
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的默认配置,它含有大部分J2EE应用所需的标准服务。
但是,它不含有JAXR服务、IIOP服务、或者其他任何群集服务。
server/minimal
这是启动JBoss服务器所要求的最低配置。
minimal配置将启动日志服务、JNDI服务器以及URL部署扫描器,以找到待部署的(新)应用。
对于那些不需要使用任何其他J2EE技术,而只是使用自定义服务的场合而言,则这种JMX/JBoss配置最适合。
它仅仅是服务器,而不包含Web容器、不提供EJB和JMS支持。
server/default/conf
含有指定JBoss核心服务的jboss-service.xml文件。
同时,还包括核心服务的其他配置文件。
server/default/data
这一目录存储持久化数据,即使服务器发生重启其中的数据也不会丢失。
许多JBoss服务将数据存储在这里,比如Hypersonic数据库实例。
server/default/deploy
用户将应用代码(JAR\WAR\EAR文件)部署在此处。
同时,deploy目录也用于热部署服务(即,那些能够从运行服务器动态添加或删除的服务)。
因此,用户能够在deploy目录看到大量的配置文件。
尤其是,用户能够看到JMX控制台应用(未打包的WAR文件),本书前面讨论过。
JBoss服务器将定期扫描该目录,从而查找是否有组件更新或修改,从而自动完成组件的重新部署。
server/default/lib
服务器配置所需的JAR文件。
用户可以添加自身的库文件,比如JDBC驱动,等等。
server/default/log
日志信息将存储到该目录。
JBoss使用JakartaLog4j包作为其日志功能。
同时,用户可以在应用中直接使用Log4j日志记录功能。
server/default/tmp
供部署器临时存储未打包应用使用,也可以作为其他用途。
server/default/work
供编译JSP使用。
其中,data、log、tmp、work目录是JBoss创建的。
如果用户没有启动过JBoss服务器,则这些目录不会被创建。
既然提到了JBoss中的热部署服务主题,接下来在探讨服务器配置问题前先来看看实际例子。
如果还没有启动JBoss,则请运行它。
然后,请再次查看deploy目录(用户必须保证运行了default配置),然后删除mail-service.xml文件。
通过运行JBoss服务器的控制台能够浏览到如下信息:
13:
10:
05,235INFO[MailService]Mailservice'
java:
/Mail'
removedfromJNDI
然后,再次将mail-service.xml文件放回原处,用户将通过控制台再次发现JBoss重新部署了该服务。
所以,这就是JBoss的热部署。
3.启动服务器
首先,来看看如何运行JBoss服务器。
用户可以在JBoss主安装目录的bin目录中找到若干个脚本文件。
请执行run脚本(对于Windows,则运行run.bat;
对于Linux、OSX、UNIX系统,则运行run.sh)。
默认jboss运行default配置,如果要运行all配置请执行命令run–call。
其中,部署和启动JBoss组件的具体日志信息能够在运行JBoss的控制台浏览到。
如下消息表明,JBoss服务器成功运行:
11:
18:
46,828INFO[Server]JBoss(MXMicroKernel)[4.2.2.GA(build:
SVNTag=JBoss_4_2_2_GAdate=200710221139)]Startedin27s:
94ms
用户可以通过Web浏览器验证JBoss应用服务器是否在运行,其HTTP监听端口为8080(其中,必须保证在启动JBoss时,8080端口并没有被其他应用或服务占用)。
通过Web浏览器能够找到相关有用的JBoss资源(译者注:
http:
//localhost:
8080)。
4.JMX控制台
通过http:
8080/jmx-console,即JMX控制台应用,用户能够浏览到服务器活动视图。
图1.1给出了示例界面。
上述界面给出了JBoss管理控制台,它提供了构成JBoss服务器的JMXMBean原始视图。
我们暂时可以不用理会控制台的任何内容,但是需要知道控制台能够提供运行中的JBoss应用服务器的大量信息。
另外,通过它,用户能够修改、启动、停止JBoss组件。
比如,请找到service=JNDIView链接,然后单击。
该特定MBean提供了如下服务内容,即能够浏览服务器中JNDI命名空间的结构信息。
接下来,请在该MBean显示页面底端找到list操作,然后单击invoke按钮。
invoke操作将返回绑定到JNDI树中的当前名字列表,这对于获得EJB名字很有帮助,比如当EJB应用客户端不能够解析EJB名字时。
图1-1JMX管理控制台Web应用视图
5.停止服务器
为了能够停止JBoss服务器,用户可以敲入Ctrl-C,或者从bin目录运行shutdown脚本。
甚至,用户还可以使用管理控制台(请在jboss.system部分找到type=Server,然后调用shutdown操作。
)。
6.JBoss中的部署
JBoss中的部署过程非常的简单、直接。
在每一个配置中,JBoss不断的扫描一个特殊目录的变化:
[jboss安装目录]/server/config-name/deploy
此目录一般被称为“部署目录”。
你可以把下列文件拷贝到此目录下:
*任何jar库(其中的类将被自动添加到JBoss的classpath中)
*EJBJAR
*WAR(WebApplictionaRrchive)
*EAR(EnterpriseApplicationaRchive)
*包含JBossMBean定义的XML文件
*一个包含EJBJAR、WAR或者EAR的解压缩内容,并以.jar、.war或者.ear结尾的目录。
要重新部署任何上述文件(JAR、WAR、EAR、XML等),用新版本的文件覆盖以前的就可以了。
JBoss会根据比较文件的时间发现改变,然后部署新的文件。
要重新部署一个目录,更新他的修改时间即可。
二.JBOSS的配置
1.JBoss日志设置
Log4j是JBoss使用的日志功能包。
通过conf/jboss-log4j.xml文件能够控制JBoss的日志功能。
该文件定义了一套Appender、指定了日志文件、具体消息Category类型的存储、消息格式以及消息的过滤级别。
默认时,JBoss会同时在控制台和日志文件(位于log/server.log文件中)中生成输出信息。
一共存在5个基本的日志级别:
DEBUG、INFO、WARN、ERROR以及FATAL。
其中,控制台的日志入口(threshold)为INFO,即用户通过控制台能够浏览到提示信息、警告信息、错误信息,但是调试信息查看不到。
相比之下,JBoss并没有为server.log文件设置任何入口,因此所有生成的消息将记录到server.log文件中。
如果JBoss运行过程中出现了错误,则通过控制台可能找不到用户有用的信息,因此建议通过server.log文件查看是否有调试信息可供解决问题所用。
然而,请注意,通过调整日志入口能够在控制台查看到调试信息,但是这并没有保证所有的JBoss消息都将记录到server.log文件中。
因此,用户还需要为单个的Category设置不同的日志级别。
比如,jboss-log4j.xml给出了如下Category。
<
!
--Limittheorg.apachecategorytoINFOasitsDEBUGisverbose-->
<
categoryname="
org.apache"
>
priorityvalue="
INFO"
/>
/category>
2.web服务的端口号的修改
这点在前文中有所提及,即修改JBoss安装目录server/default/deploy/jboss-web.deployer下的server.xml文件,内容如下:
Connectorport="
8080"
address="
${jboss.bind.address}"
maxThreads="
250"
maxHttpHeaderSize="
8192"
emptySessionPath="
true"
protocol="
HTTP/1.1"
enableLookups="
false"
redirectPort="
8443"
acceptCount="
100"
connectionTimeout="
20000"
disableUploadTimeout="
/>
将上面的8080端口修改为你想要的端口即可。
重新启动JBoss后访问:
//localhost/:
新设置的端口,可看到JBoss的欢迎界面。
3.JBoss的安全设置
3.1jmx-console登录的用户名和密码设置
默认情况访问http:
8080/jmx-console就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。
下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。
步骤如下:
3.1.1修改jboss-web.xml文件
打开/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉<
security-domain>
/jaas/jmx-console<
/security-domain>
的注释。
修改后的该文件内容为:
jboss-web>
--Uncommentthesecurity-domaintoenablesecurity.Youwill
needtoeditthehtmladaptorloginconfigurationtosetupthe
loginmodulesusedtoauthenticationusers.-->
/jboss-web>
3.1.2修改web.xml文件
与3.1.1中的jboss-web.xml同级目录下的web.xml文件,查找到<
security-constraint/>
节点,去掉它的注释,修改后该部分内容为:
--AsecurityconstraintthatrestrictsaccesstotheHTMLJMXconsole
touserswiththeroleJBossAdmin.Edittherolestowhatyouwantand
uncommenttheWEB-INF/jboss-web.xml/security-domainelementtoenable
securedaccesstotheHTMLJMXconsole.-->
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>
POST<
/web-resource-collection>
auth-constraint>
role-name>
JBossAdmin<
/role-name>
/auth-constraint>
/security-constraint>
在此处可以看出,为登录配置了角色JBossAdmin。
3.1.3
修改login-config.xml文件
在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.xml中配置,我们在JBoss安装目录/server/default/config下找到它。
查找名字为:
jmx-console的application-policy:
application-policyname="
jmx-console"
authentication>
login-modulecode="
org.jboss.security.auth.spi.UsersRolesLoginModule"
flag="
required"
module-optionname="
usersProperties"
props/jmx-console-users.properties<
/module-option>
rolesProperties"
props/jmx-console-roles.properties<
/login-module>
/authentication>
/application-policy>
在此处可以看出,登录的角色、用户等的信息分别在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中设置,分别打开这两个文件。
其中jmx-console-users.properties文件的内容如下:
#Asampleusers.propertiesfileforusewiththeUsersRolesLoginModule
admin=admin
该文件定义的格式为:
用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,读者可将其改成所需的用户名和密码。
jmx-console-roles.properties的内容如下:
#Asampleroles.propertiesfileforusewiththeUsersRolesLoginModule
admin=JBossAdmin,HttpInvoker
用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。
配置完成后读者可以通过访问:
http:
8088/jmx-console/,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。
如图:
3.2web-console登录的用户名和密码设置
默认情况下,用户访问JBoss的web-console时,不需要输入用户名和密码,为了安全起见,我们通过修改配置来为其加上用户名和密码。
3.2.1修改jboss-web.xml文件
打开server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉<
/jaas/web-console<
的注释,修改后的文件内容为:
?
xmlversion='
1.0'
encoding='
UTF-8'
?
DOCTYPEjboss-web
PUBLIC"
-//JBoss//DTDWebApplication2.3V2//EN"
"
//www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"
--Thewardependsonthe-->
depends>
jboss.admin:
service=PluginManager<
/depends>
3.2.2修改web.xml文件
打开3.2.1中jboss-web.xml同目录下的web.xml文件,去掉<
部分的注释,修改后的该部分内容为:
roleJBossAdmin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JBOSS 使用指南