JBoss as 配置

Step one: download JBoss Application Server , e.g. jboss-4.2.2.GA

Step two: extract jboss-4.2.2.GA.zip to a local dir say ${JBOSS_HOME}

Step three: config -

注:以下配置对应的jboss版本为4.2.2.GA,部署的应用类型为ear。如果你的jboss版本不同或部署的应用类型不是ear,那配置上可能略有差别,其差异性不在本文讨论范围内。

1.拷贝数据源(datasource)配置文件(e.g. oracle-xxx-ds.xml)到${JBOSS_HOME}/server/default/deploy目录

2.修改class loader,打开

      for jboss-4.2.x: ${JBOSS_HOME}/server/default/deploy/jboss-web.deployer/META-INF/jboss-service.xml

      for jboss-4.0.x: ${JBOSS_HOME}/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml

      文件,将UseJBossWebLoader属性设置为true,以使用JBoss Loader来代替Tomcat Loader。

      不过笔者 建议 还是使用jboss的默认配置,即 UseJBossWebLoader=false ,原因参见http://jira.jboss.com/jira/browse/JBAS-1691 

      P.S. 需将${war.dir}/WEB-INF/lib目录中的spring等类包都删除?因为默认配置会重复加载这些类包,但请注意denali应用不能将${war.dir}/WEB-INF/lib目录中的jar包删除的哦!因为denali中使用的tld必须inline加载?!。。。此处省略n字。。。未完待续。。。

3.修改访问端口

      方法一:修改${JBOSS_HOME}/server/default/deploy/jboss-web.deployer/server.xml文件,将port属性为8080的Connector修改为7001。e.g.

      <!-- A HTTP/1.1 Connector on port 8080 -->
      <Connector port="7001" address="${jboss.bind.address}"
         maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
         emptySessionPath="true"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true"/>

      方法二 :修改${JBOSS_HOME}/server/default/conf/jboss-service.xml文件,还原被注释掉的部分:

   <mbean code="org.jboss.services.binding.ServiceBindingManager"
     name="jboss.system:service=ServiceBindingManager">
     <attribute name="ServerName">ports-02</attribute>
     <attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
     <attribute name="StoreFactoryClassName">
       org.jboss.services.binding.XMLServicesStoreFactory
     </attribute>
   </mbean>

      这样会将访问端口由8080改为8280,而且这个配置还有一个好处是可以在同一台机器上跑多个jboss as,只要将各个jboss as的这个配置项设置为不同的ports-xx就可以了,所以方法二也是推荐 配置。

    4.支持中文(如果不配置本项目则在GET方式的url中的中文将变为乱码¹)

      修改${JBOSS_HOME}/server/default/deploy/jboss-web.deployer/server.xml文件,在每一个Connector中添加属性useBodyEncodingForURI="true"。e.g.

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













    ...

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
         emptySessionPath="true" enableLookups="false" redirectPort="8443" useBodyEncodingForURI="true" />

    ... 

    5.支持热部署(hot deployment)和远程目录部署

      修改${JBOSS_HOME}/server/default/conf/jboss-service.xml文件,添加远程目录到deployment/undeployment mbean的urls属性中。e.g.

   <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
      name="jboss.deployment:type=DeploymentScanner,flavor=URL">

      ...

      <attribute name="URLs">
          deploy/,file:///D:/Projects/et/workcopy/deploy/target 
      </attribute>

      ...

    6.支持remote debugging

      修改${JBOSS_HOME}/bin/run.bat,还原被注释掉的部分:

      rem set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%

      修改为

      set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n%JAVA_OPTS%

       注意设置 suspend=n,使debug时不会挂起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值