最近准备研究下Seam框架,主要是专注一下JBPM集成部分的内容。由于Seam是Jboss 的产品,所以官方推荐使用JBoss应用服务器。个人认为那东西太大有100多MB,懒得 下载! 查看了下Seam文档,上面说可以使用Tomcat+嵌入式JBoss,这个比较爽,嵌入式JBoss 才20MB。下面记录一下配置过程。
1. 我的机器环境
表 1. 机器环境
软件 | 版本 |
---|---|
OS | Win7专业版 |
JDK | 1.6.0_18-b07 |
TOMCAT | 6.0.24 |
embedded-jboss | beta3.SP10 |
Seam Framework | 2.2.1.CR1 |
ANT | 1.7.1 |
注意
之所以说明下我的机器环境,是因为配置工作和软件本版有很大关系,希望同行们尽量少走弯路!
2. 嵌入式JBoss ++--> Tomcat
把嵌入式JBoss装载到Tomcat中:
-
下载嵌入式Jboss,解压后把
bootstrap
和lib
目录下所有内容,除了jndi.properties
文件以外, 都拷贝到Tomcat的lib
目录下。 -
从Tomcat的 lib 目录中移除 annotations-api.jar 文件
接下来,需要更新两个配置文件,用来增加嵌入式JBoss特有的功能。
-
将嵌入式JBoss listener增加到 conf/server.xml 中。它在文件中应该排列在所有其他listener的后面
<Server port= "8005" shutdown= "SHUTDOWN" > <!-- Comment these entries out to disable JMX MBeans support used for the administration web application --> <Listener className= "org.apache.catalina.core.AprLifecycleListener" /> <Listener className= "org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className= "org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className= "org.apache.catalina.storeconfig.StoreConfigLifecycleListener" />
<!-- 加入嵌入式JBoss监听器 --> <Listener className= "org.jboss.embedded.tomcat.EmbeddedJBossBootstrapListener" />
-
应该通过增加一个listener到 conf/context.xml 文件中来启用WAR文件扫描功能。
<Context> <!-- Default set of monitored resources --> <WatchedResource> WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> -->
<!-- 加入嵌入式JBoss监听器 --> <Listener className= "org.jboss.embedded.tomcat.WebinfScanner" />
< /Context>
-
如果你使用JDK6,你需要在环境变量中设置
JAVA_OPTS=-Dsun.lang.ClassLoader.allowArraySyntax=true
,Win7中设置如下图:图 1. 配置JAVA_OPTS环境变量
至此所有配置完成,可以在Tomcat下部署Seam应用了。
3. 部署Seam DVD Store样例应用
部署Seam的样例应用非常简单,只需两步:
-
解压下载的Seam包,编辑
build/default.build.properties
文件,设置tomcat.home
。我的是这个样子:# Use this properties file to set default properties for Seam. # They can be overridden in ../build.properties # # The default qualifier is -SNAPSHOT # # Seam Version # ------------ major.version 2 minor.version .2 patchlevel .1 qualifier .CR1 # # Other program locations # ----------------------- jboss.home /Applications/jboss-5.1.0.GA tomcat.home G:\\dev\\jboss\\apache-tomcat-6.0.24
-
先确保你安装了Ant,进入
examples\dvdstore
目录下执行:ant tomcat.deploy
Ok!不出意外的话样例就部署成功了,赶快打开链接http://localhost:8080/jboss-seam-dvdstore看看吧!