JBOSS使用指南.docx
- 文档编号:28132649
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:70
- 大小:608.38KB
JBOSS使用指南.docx
《JBOSS使用指南.docx》由会员分享,可在线阅读,更多相关《JBOSS使用指南.docx(70页珍藏版)》请在冰豆网上搜索。
JBOSS使用指南
JBOSS使用指南
Releasev1.0
[jimmy(yang.kun),于2008-05-12编写]
一.JBOSS入门2
1.下载和安装JBoss2
2.JBoss的目录结构2
3.启动服务器3
4.JMX控制台4
5.停止服务器5
6.JBoss中的部署5
二.JBOSS的配置6
1.JBoss日志设置6
2.web服务的端口号的修改6
3.JBoss的安全设置7
3.1jmx-console登录的用户名和密码设置7
3.2web-console登录的用户名和密码设置9
4.JBoss数据源的配置12
5.JMS使用和设置14
5.1JMS消息的传递模型14
5.2JMS的配置16
三.JMX原理和应用20
1.什么是JMX20
2.JMX规范21
3.基于JBoss来写MBean21
3.1HelloWorld实例21
3.2程序代码21
3.3配置文件jboss-service.xml22
3.4将实例部署到JBOSS22
3.5MBean的效果23
s四.EJB3.0使用说明25
1.EnterpriceJavaBeans(EJB)的概念25
1.1会话Bean:
25
1.2实体Bean:
26
1.3消息驱动Bean(MDB):
26
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:
//localhost:
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-->
2.web服务的端口号的修改
这点在前文中有所提及,即修改JBoss安装目录server/default/deploy/jboss-web.deployer下的server.xml文件,内容如下:
maxThreads="250"maxHttpHeaderSize="8192" emptySessionPath="true"protocol="HTTP/1.1" enableLookups="false"redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true"/> 将上面的8080端口修改为你想要的端口即可。 重新启动JBoss后访问: http: //localhost/: 新设置的端口,可看到JBoss的欢迎界面。 3.JBoss的安全设置 3.1jmx-console登录的用户名和密码设置 默认情况访问http: //localhost: 8080/jmx-console就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。 下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。 步骤如下: 3.1.1修改jboss-web.xml文件 打开/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉 /jaas/jmx-console的注释。 修改后的该文件内容为: --Uncommentthesecurity-domaintoenablesecurity.Youwill needtoeditthehtmladaptorloginconfigurationtosetupthe loginmodulesusedtoauthenticationusers.--> /jaas/jmx-console 3.1.2修改web.xml文件 与3.1.1中的jboss-web.xml同级目录下的web.xml文件,查找到 --AsecurityconstraintthatrestrictsaccesstotheHTMLJMXconsole touserswiththeroleJBossAdmin.Edittherolestowhatyouwantand uncommenttheWEB-INF/jboss-web.xml/security-domainelementtoenable securedaccesstotheHTMLJMXconsole.--> roleJBossAdmintoaccesstheHTMLJMXconsolewebapplication 在此处可以看出,为登录配置了角色JBossAdmin。 3.1.3 修改login-config.xml文件 在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.xml中配置,我们在JBoss安装目录/server/default/config下找到它。 查找名字为: jmx-console的application-policy: flag="required"> 在此处可以看出,登录的角色、用户等的信息分别在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: //localhost: 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" "http: //www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"> --Uncommentthesecurity-domaintoenablesecurity.Youwill needtoeditthehtmladaptorloginconfigurationtosetupthe loginmodulesusedtoauthenticationusers.--> /jaas/web-console --Thewardependsonthe--> service=PluginManager 3.2.2修改web.xml文件 打开3.2.1中jboss-web.xml同目录下的web.xml文件,去掉 --AsecurityconstraintthatrestrictsaccesstotheHTMLJMXconsole touserswiththeroleJBossAdmin.Edittherolestowhatyouwantand uncommenttheWEB-INF/jboss-web.xml/security-domainelementtoenable securedaccesstotheHTMLJMXconsole.--> roleJBossAdmin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JBOSS 使用指南