浏览 14497 次
锁定老帖子 主题:JBOSS3.x 学习笔记
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-09-15
作者:Thatway (outhatway@hotmail.com) 来自:http://www.hibernate.org.cn 目 录 一. 运行环境 2 二. 准备工作 2 三. 安装 2 四. 配置实例xPetStore 2 五. 结束语 8 一. 运行环境 操作系统:Windows 2000 应用服务器:Jboss3.x 数据库:MySQL4.x 虚拟机: SUN JDK1.4.x 二. 准备工作 1.请安装JDK1.4.x版本,设置JAVA_HOME变量,并把“%JAVA_HOME%\bin”加入Path中。 2.请下载Jboss3.x。主站地址http://www.jboss.org/。 3.请下载并安装MySQL4.x。主站地址http://www.mysql.org/。 三. 安装 1. 把压JBOSS下载文件解压。本文假设解压后路径为C:\Work\jboss-3.2.2RC2。 2. 设置JBOSS_HOME变量。进行命令窗口,运行bin目录下的run.bat命令。请注意后台有没有抛出异常。 3. 约半分钟后启动完毕,请访问http://localhost:8080/jmx-console/。如果成功显示页面,说明安装成功。 4. 进行命令窗口,运行bin目录下的shutdown.bat -S命令可以停止JBOSS。 四. 配置实例xPetStore 1. 创建JBOSS“xpetstore”服务 在JBOSS_HOME/server/下新建目录xpetstore,并把JBOSS_HOME/server/default下的内容拷贝到xpetstore下。 2. 配置JMS Create JBOSS_HOME\server\xpetstore\deploy\jms\jbossmq-destinations-xpetstore-service.xml to create JMS queues queue/order and queue/mail. This xml file should look like this: <?xml version="1.0" encoding="UTF-8"?> <!-- $Id: jbossmq-destinations-xpetstore-service.xml,v 1.0 2003-8-11 15:47 et Exp $ --> <server> <!-- Destination without a configured SecurityManager or without a a SecurityConf will default to role guest with read=true, write=true, create=false. --> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=order"> <attribute name="JNDIName">queue/order</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=mail"> <attribute name="JNDIName">queue/mail</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> </server> 3. 配置JDBC Copy the JDBC driver to JBOSS_HOME/server/xpetstore/lib。 Rename JBOSS_HOME/server/xpetstore/deploy/hsqldb-ds.xml to mysql-ds.xml. Edit mysql-ds.xml to create the datasource java:/xpetstoreDS。 JBOSS_HOME/server/xpetstore/deploy/mysql-ds.xml should look like this: <?xml version="1.0" encoding="UTF-8"?> <!-- $Id: mysql-ds.xml,v 1.0 2003-8-11 15:56 et Exp $ --> <datasources> <local-tx-datasource> <depends>jboss:service=Hypersonic</depends> <jndi-name>xpetstoreDS</jndi-name> <connection-url>jdbc:mysql://localhost/xpetstore</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>thatway</user-name> <password>thatway</password> <min-pool-size>5</min-pool-size> <security-domain>HsqlDbRealm</security-domain> </local-tx-datasource> <!-- this mbean should be used only when using tcp connections --> <mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic"> <attribute name="Port">1701</attribute> <attribute name="Silent">true</attribute> <attribute name="Database">default</attribute> <attribute name="Trace">false</attribute> <attribute name="No_system_exit">true</attribute> </mbean> </datasources> 4. 配置JavaMail Create the MailSesion java/:Mail. Make sure that JBOSS_HOME/server/xpetstore/deploy/mail-service.xml look like this: <server> <classpath codebase="lib" archives="mail.jar, activation.jar, mail-plugin.jar"/> <mbean code="org.jboss.mail.MailService" name="jboss:service=Mail"> <attribute name="JNDIName">Mail</attribute> <attribute name="User">your-user-name</attribute> <attribute name="Password">your-password</attribute> <attribute name="Configuration"> <configuration> <property name="mail.store.protocol" value="pop3"/> <property name="mail.transport.protocol" value="smtp"/> <property name="mail.user" value="your-username"/> <property name="mail.pop3.host" value="your-pop3-host"/> <property name="mail.smtp.host" value="your-smtp-host"/> <property name="mail.from" value="noreply@xpetstore.sourceforge.net"/> <property name="mail.debug" value="false"/> </configuration> </attribute> </mbean> </server> 5. 启动JBOSS cd JBOSS_HOME/bin run.bat -c xpetstore 6. 指定xPetStore的应用服务器 Download and unzip the xpetstore3.1.x file. Edit the file XPETSTORE_HOME/conf/as/appserver.properties and set the property app.server=jboss. You may want to review XPETSTORE_HOME/conf/as/jboss.properties to make sure that all the properties are properly set. 7. 指定数据库 Edit the file XPETSTORE_HOME/conf/db/database.properties and set the property db.name=mysql. Edit the file XPETSTORE_HOME/conf/db/mysql.properties to configure the database.You must set the following properties: db.driver db.url db.user db.password db.classpath PS: Don't change the hibernate properties. 8. Build源代码 cd XPETSTORE_HOME/xpetstore-servlet run build.bat This command will : Generate Java code in XPETSTORE_HOME/xpetstore-servlet/build/java Generate the deployment descriptors at XPETSTORE_HOME/xpetstore- servlet/build/META-INF and XPETSTORE_HOME/xpetstore- servlet/build/WEB-INF Compile the source code and build .jar, .war and .ear files at XPETSTORE_HOME/dist 经测试,事实上这样build是不足够的,在发布运行的过程中会出错。但考虑到官方文件是这样说的,并且这些的确是正确的主要步骤。之所以不能运行,完全是“意外”问题。因此,我们暂且跳过,到运行时再把步骤补全。 9. 发布应用 build.bat deploy 10. 初始化数据库 build.bat db 11. 运行应用 http://localhost:8080/xpetstore-servlet/ 12. 意外错误排除 第一次build的过程会抛出xpetstore-servlet\build\META-INF not found的错误。此时,可以手工在相应目录建立META-INF文件夹。再运行build。 再发布时会抛出错误:Exception processing TLD at resource path /META-INF/taglib.tld。此时,可以手工将XPETSTORE_HOME\lib\main\com.opensymphony.module.webwork\webword.jar\META-INF中的taglib.tld 拷贝到XPETSTORE_HOME\xpetstore-servlet\web\META-INF目录下。(META-INF是手工建立的)。再编辑XPETSTORE_HOME\xpetstore-servlet\build.xml,在“WAR”栏加入以下语句把taglib.tld拷贝进war中。再运行build。 <!-- Added by thatway 2003-8-5 13:40--> <metainf dir="${web.dir}/META-INF"> <include name="**/*" /> </metainf> <!-- END --> 发布时还会提出错误,主要原因是Hibernate getConnection时不能通过JBOSS的安全验证。此时,要修改JBOSS_HOME/server/xpetstore/conf/login_config.xml和JBOSS_HOME/server/xpetstore/deploy/mydql_ds.xml。 先说login_config.xml。参照HsqlDbRealm段,添加如下代码。 <application-policy name = "MysqlDbRealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name = "principal"></module-option> <module-option name = "userName"></module-option> <module-option name = "password"></module-option> <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=xpetstoreDS</module-option> </login-module> </authentication> </application-policy> 再到mysql_ds.xml。修改security-domain值。 <security-domain>MysqlDbRealm</security-domain> 注意1:修改login-config.xml需要重启JBOSS才生效;修改mysql.xml则不必。 注意2:调试的过程中必然会多次重启JBOSS,如果xpetstore还没有发布成功的话,重启前请删除deploy目录下的xpetstore发布文件。 五. 结束语 至此,我们的痛苦就结束了。请访问 http://localhost:8080/xpetstore-servlet/ 看一看自己辛劳的成果。如果还运行失败,请联系我。 此番配置有两个目的,一是熟悉JBOSS,二是便于学习xpetstore源代码。第一个目标我们是达到了,但第二个目标现在才开始,所以让我们一起共勉,继续努力。 2003-8-11 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-09-15
这是以前写的JBOSS笔记,对初学者也许有一点用途的。
|
|
返回顶楼 | |
发表时间:2003-09-15
robbin 写道 原创的吗?
yes,学习JBOSS时写的东东。多多指教。 |
|
返回顶楼 | |
发表时间:2003-09-24
我以前也配过xpetstore,据我的经验,你这里的jboss3.x是不是太粗略了?
比如我的是3.0.7,在这个版本,没有mysql-ds.xml;只有mysql-service.xml.其他版本我就不清楚了. 其他的讲的比较清楚.去xpetstore的主页,他有详细的安装文档,跟上文基本是一致的,不过是english. |
|
返回顶楼 | |
发表时间:2003-09-24
jd2bs 写道 我以前也配过xpetstore,据我的经验,你这里的jboss3.x是不是太粗略了?
比如我的是3.0.7,在这个版本,没有mysql-ds.xml;只有mysql-service.xml.其他版本我就不清楚了. 其他的讲的比较清楚.去xpetstore的主页,他有详细的安装文档,跟上文基本是一致的,不过是english. Deploy下的配置文件的名字并不重要,只要XML里的内容一样就可以了。 Jboss才懒得管这些名字呢。 |
|
返回顶楼 | |
发表时间:2003-09-25
JBoss的文档让我看得一愣一愣的
|
|
返回顶楼 | |
发表时间:2003-10-23
|
|
返回顶楼 | |