`
liufei.fir
  • 浏览: 676944 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jboss部署web应用

阅读更多
初次部署jboss的web应用,把tomcat/weblogic下的工程移植到jboss上发布

一、修改JBOSS应用服务器连接的数据库和端口:

     1、端口修改:

          4.*版:    ${JBOSS_HOME}/server-->default-->deploy-->jbossweb.sar-->server.xml

          5.*版:    ${JBOSS_HOME}/server-->default-->deployers-->jbossweb.deployer-->server.xml

          一般oracle的端口是8080,把8080改成其他端口即可:

        <Connector port="8888" address="${jboss.bind.address}"  
              maxThreads="250" maxHttpHeaderSize="8192"
             emptySessionPath="true" protocol="HTTP/1.1"
             enableLookups="false" redirectPort="8443" acceptCount="100"
             connectionTimeout="20000" disableUploadTimeout="true" />

    2、连接的数据库

    各种数据库的连接模板格式见:${JBOSS_HOME}/doc/examples/jca

    将配置文件拷贝到${JBOSS_HOME}/server/default目录下

    如:

     <datasources>
        <local-tx-datasource>
        <jndi-name>trafficMips</jndi-name>
        <connection-url>jdbc:oracle:thin:@192.168.10.235:1521:ora10</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>goods</user-name>
        <password>goods</password>

         .............

    注意:连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下

二、工程配置的修改

在${war_file}/web-inf/下增加文件 jboss-web.xml:

  内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE jboss-web PUBLIC
        "-//JBoss//DTD Web Application 2.3V2//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">

<jboss-web>
    <resource-ref>
        <res-ref-name>jdbc/goodsDB</res-ref-name>
        <jndi-name>java:/trafficMips</jndi-name>
    </resource-ref>
</jboss-web>

注意:jndi-name跟你的数据库连接源相对应....

web.xml文件加入如下:

<resource-ref>
     <res-ref-name>jdbc/goodsDB</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
  </resource-ref>

三、注意的问题

      1、ibatis不需要专门的配置文件,Hibernate好像需要另外的配置.....待查找学习

      2、jboss下和工程的ClassLoader的思考,两边包含的类库版本必须一致,不然会冲突,jboss起来的时候是先加载  ${JBOSS_HOME}/server\default\lib下的,如spring和 dwr的关系,起服务的发现必须把spring.jar包先放在${JBOSS_HOME}/server\default\lib预先加载,才能读到 dwr,不然放在工程lib下会先加载dwr而找不到spring.jar,跟tomcat不同...不知道为什么?

      3、注意jboss的版本问题,一般4.*都比较稳定,我用了一个5.*的,结果老是提示找不到struts和servle类,无论放哪里都是一样,很奇怪.....,换了4.*就没问题,5.*集成的是6.*的tomcat,我单独用6.*的tomcat起服务也没什么问题的



四、 其他jboss注意的和思考的

     1、jboss下ClassLoader的思考:  http://www.iteye.com/topic/173561

     2、JBOSS维护经验 :            http://dapeng.iteye.com/blog/152373

     3、hibernate部署:   http://jackytang520.iteye.com/blog/297644

安装
1.1、软件安装
首先要安装JDK(仅仅安装JRE是不行的,因为JSP页面需要编译),最新的正式版是JDK1.4.2。然后把JBoss的压缩包解压到一个目录下,目录名一般是"Jboss_版本号",JBoss目前的最新正式版是JBoss4.0.0(2004年9月20日发布)。下面的配置都是针对JBoss3.2.5。
1.2、环境变量的设置
需要的环境变量有JAVA_HOME和JBOSS_HOME。环境变量JAVA_HOME设置为刚才JDK的安装路径,JBOSS_HOME设置为刚才JBoss解压后的路径。设置方法如下:
在Windows2000中可以右键点我的电脑,选"属性"-> 选"高级"选项卡 -> 点击"环境变量"按钮 -> 点击系统变量的"新建"按钮,然后在对话框中输入"变量名"为"JAVA_HOME",变量值为JDK的安装路径,最后确定。同样的方法添加 JBOSS_HOME。
1.3、运行
直接执行JBoss\bin目录下的run.bat批处理文件即可,启动时间从20秒到1分钟左右不等,视CPU速度和内存大小而定。
1.4、终止JBoss的运行
最好不要直接关闭运行JBoss时的控制台窗口,直接关闭控制台可能导致JBoss下次启动时出现异常。正常关闭JBoss的方法是另外打开一个控制台窗口,执行JBoss\bin目录下的shutdown.bat批处理文件,不过要带一个参数"-S",注意是大写字母。为了方便起见,也可以创建一个快捷方式。
1.5、把JBoss安装为Windows2000的系统服务
每次从控制台启动JBoss不是很方便,虽然调试程序时可以从控制台看到很多信息,但有的时候需要JBoss作为系统服务自动运行。这需要下载一个小工具JavaService.exe,到如下地址下载:
http://www.alexandriasc.com/software/JavaService/index.html
我已经下载了该工具。


文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBoss(Tomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。
文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBoss(Tomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。


的目录结构
bin目录:改目录包含各种脚本文件以及相关文件,前面已经用过run.bat和shutdown.bat两个批处理文件。

client目录:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。

docs目录:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySql、Oracle、SQL Server、Postgres等)配置数据源的JCA配置文件。

lib目录:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。

server目录:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即all、default和minimal,每一个配置安装的服务都不一样。其中default下是缺省配置。

minimal目录:仅加载启动JBoss所需的最少服务,如日志服务、JNDI和URL部署扫描器(发现新的部署),不包含Web容器、EJB和JMS。

all目录:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。

启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:

上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。

下面以default目录为例,介绍服务器配置的目录结构。

conf目录:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。

data目录:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQ(the JBoss implementation of JMS)存储相关信息的地方。

deploy目录:这是部署J2EE应用程序(jar、war和ear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和 JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。

lib目录:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。

log目录:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。

tmp目录:存储在部署过程中解压时产生的临时文件。

work目录:Tomcat编译JSP文件时的工作目录。

目录data、log、tmp和work在JBoss安装后并不存在,当JBoss运行时自动建立。
中和数据库的连接
这里所说的数据库连接是在JBoss中通过XML文件配置数据源,在程序中通过名字来访问数据库。从JBoss3.2.3之后的数据库连接配置比较简单,关于配置文件的书写在JBoss中针对不同的数据库有相应的例子,配置文件的例子在目录JBoss_HOME\docs \examples\jca下,如对MySql数据库的配置文件是mysql-ds.xml。只要针对数据库的具体情况修改该配置文件即可。修改完成之后,将配置文件拷贝到JBoss_HOME\server\default目录下。下面是一个设置MySql数据库为数据源的mysql-ds.xml配置文件的内容:
<?xml version="1.0" encoding="UTF-8"?>

<datasources>

<connection-url>jdbc:mysql://127.0.0.1:3306/test</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

</datasources>

另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下。

  ..\server\default\deploy\jbossweb-tomcat55.sar\server.xml

的port 参数

http://blog.sina.com.cn/u/402639f8010007ep
Window下将JBoss安装为服务

1 下载JavaService.exe

2 安装Jboss为JBoss服务

JavaService.exe -install JBoss %JAVA_HOME%\jre\bin\server\jvm.dll -Djava.class.path=%JAVA_HOME%\bin\tools.jar;%JBOSS_HOME%\bin\run.jar -start org.jboss.Main -stop org.jboss.Main -method systemExit -current %JBOSS_HOME%\bin

3 查看服务中,是不是多了个JBoss服务呢,以后可以利用服务来管理JBoss了

4 若要卸载此程序运行:JavaService.exe -uninstall JBoss


用javaservice将java程序发布为windows服务

上网查了一下怎么才能让java应用变成nt服务,也就是要自动运行没有界面,网上用的比较多的方法大致有三个

1.开源项目javaservice()

2.开源项目java service wrapper()

3.利用jbuilder或其他工具将java类打包成exe文件,然后用微软提供的开发包中的文件将exe发布成服务

我首先排除了3,因为3实在是太麻烦,而且限制比较多

1和2我都实验了一下,说来惭愧,java service wrapper虽然得到了很多牛人的认可,但是我按照文档上的配置方法怎么都不行,总是提示找不到我要执行的main方法

无奈只好用javaservice了,不过这个用起来真的很容易,也很方便

我是这么做的,首先当然是写程序,代码我就不往上贴了,我写了两个类,其中一个包含main方法,我利用jdbc连接oracle数据,通过 timer和timertask,以一定的时间间隔访问数据库,提取特定标记的数据,将这些数据写到一个文本文件中.将两个类写完后生成两个.class 文件,分别是a.class和b.class其中a中包含main方法

因为用到了oracle的jdbc驱动所以要把oracle的driver包一起打包

命令如下:

jar cvf test.jar a.class b.class oracle

其中oracle是从oracle的lib文件夹下classess12.jar内提取出来的oracle文件夹

打包成功后生成test.jar

JavaService-2.0.10.zip ,解压后得到javaservice和其他一些批处理文件,那些批处理都是例子,比如发布jboss的和发布tomcat的

将javaservice复制到test.jar的同一目录下新建一个文本文件另存为.bat,当然你也可以修改例子用的bat文件

文件一(安装服务)

JavaService -install testservice C:\jdk1.4\jre\bin\server\jvm.dll -Djava.class.path=E:\test\test.jar -Xms64M -Xmx128M -start a -err err.log -current e:\test

具体的含义就不解释了,大家可以去看javaservice的文档,这里需要说明的是start后面是带静态main方法的类,文档写的很清楚

文件二(卸载服务)

javaservice -uninstall testservice

执行文件一即可将其发布为windows的服务

执行文件二可卸载

安装成功后,服务的状态是停止,启动类型为自动

启动一下就ok了,我也才研究了一天,还很肤浅,这个东西挺好用的,至少可以使程序看起来神秘高深一些

希望高手多指点
分享到:
评论

相关推荐

    在jboss上部署web应用

    JBoss是纯Java的Web应用服务器,为了保证JBoss服务器的正常运行,在安装JBoss之前首先要确保系统 已经安装了JDK。可以从http://labs.jboss.com/jbossas/downloads/ 下载最新JBoss应用服务器,本章选用JBoss 4.2.2.GA...

    Jboss项目部署文档

    Jboss项目部署文档

    windows下JBOSS5.1.0部署web应用

    windows环境下使用jboss配置web应用 配置单向双向SSL

    Apache安装及JBOSS部署说明文档.rar

    描述了apache jboss3.2.6做负载均衡(load balance)的部署细节以及一些常见错误说明;描述了部署jboss3.2.3/3.2.6时一些心得、常用配置项。 目 录 1 .Apache2.0及连接器jk1.2的编译部署 4 1.1下载相关软件包 ...

    jboss 7.1.1 Final 的jsp热部署解决方案

    公司的网站系统使用的中间是jboss7.1.1 Final,由于有些数据和服务测试环境不具备,免不了要在测试环境调试些jsp页面,发现从jboss社区里下载的jboss应用有个问题,新增jsp页面会实时部署,修改过的jsp页面就无法正常...

    开发基于JBoss的J2EE应用.pdf

    JBoss,作为 J2EE 应用服务器,以其EJB 容器卓越的性能、技术的潮流性、开发部署 J2EE 应用的方便性赢得了很多J2EE 开发者的信赖。其中,免安装、基于JMX 构架、热部 署 (Hot Deploy)、快速开发EJB 应用等...

    JBoss下部署EJB3.0

    从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳...

    Tomcat web工程 调用 JBOSS EJB local及remote源码

    Tomcat下web工程调用JBOSS部署的EJB项目 此源码包 包括local本地调用及remote远程调用 文档说明在http://blog.csdn.net/heardy/article/details/6906225

    jopr -jboss 工程师必备监控工具

    通过统一的图形化管理控制台,您可以管理和监控网络、操作系统、数据库等基础设施服务,也可以管理和监控Java虚拟机、JBoss Web、连接池等中间件,还可以通过自定义的JMX MBean管理和监控您的业务应用。通过对配置...

    jbossweb-customsso:一个 JBossWeb 阀,它扩展了 SigneSignOn 阀并启用了像 Seam 这样的具有非自定义身份验证的 Web 应用程序,以将 SSO 所需的主体对象存储在其他应用程序中

    JBossWebCustomSingleSignOnValve ...因此,将大型 Web 应用程序拆分为较小的 Web 应用程序并享受模块化的好处 - 您可以重新部署从属应用程序,而无需强制用户再次登录。 0.9 版本已测试JBoss AS 5.1 (JBossWeb 2.1.3.F

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.3.4 部署Web应用 22 1.4 WebLogic的下载和安装 24 1.4.1 WebLogic的下载和安装 24 1.4.2 WebLogic的基本配置 25 1.4.3 修改WebLogic的服务端口 29 1.4.4 部署Web应用 30 1.5 NetBeans的安装和使用 32 1.5.1 ...

    jboss问题总结

    二、JBoss部署应用程序时,数据库驱动放在应用程序的web-inf/lib下时,首次连接数据库是无法建立连接, 原因可能是jboss启动时,初始化数据源没有找到数据库驱动,而首次是连接是找不到数据源,但是开始初始化数据源...

    JBoss中文文档(pdf版)

    接下来,第4章将研究,Sun J2EE Tutorial中Duke银行应用如何在JBoss上部署。这将能够使开发者很快进入角色,即熟悉JBoss中的简单配置和部署操作。第5章,研究Web服务。本书将分两个步骤讨论。其一,如何将Duke银行...

    用Oracle ADF Essentials开发Web 应用

    很好的ADF中文资料,Oracle ADF Essentials

    Java-Web服务器(应用服务器).doc

    BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的 Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。被Oracle ...

    jboss7 文档

    jboss7 文档,提供web、ejb等应用部署教详细介绍

    使用Eclipse开发J2EE应用—集成Eclipse,Lomboz和JBoss

     Lomboz是一个免费的Eclipse plugin,它将很多Java应用服务器、J2EE组件和Web应用开发集成到Eclipse中,可以帮助Java开发者使用Eclipse建立、测试、部署J2EE应用。  JBoss是一个开放源码、功能强大的Java应用...

    jboss中文文档

    接下来,第 4 章将研究,Sun J2EE Tutorial 中 Duke 银行应用如何在 JBoss 上部署。这 将能够使开发者很快进入角色,即熟悉 JBoss 中的简单配置和部署操作。第 5 章,研究 Web 服务。本书将分两个步骤讨论。其一,...

    salesmen:使用Seam Framework for JBoss AS拍卖Web应用程序

    推销员使用Seam Framework for JBoss AS拍卖Web应用程序从原始存储库导入,为 我们是一个由七个学生组成的小组,他们被分配来设计和实施在线拍卖网站(例如eBay)背后的软件。 我们代号为项目销售员。 该项目嵌入到...

    JBoss7配置指南及管理员手册

    中文的JBoss7应用配置指南及是管理员手册,包括了JBoss所有的应用 1. jboss各主要版本特性 3 1.1. jboss4特性 3 1.2. jboss5特性 5 1.3. jboss6特性 6 1.4. jboss7特性 7 2. 为什么JBoss AS7 这么快 8 3. JBoss AS7...

Global site tag (gtag.js) - Google Analytics