1Jboss7快速入门手册比尔板三2012-10-24一、新特性.................................................................................................................................................................1二、部署配置.............................................................................................................................................................82.1目录结构......................................................................................................................................................92.2启动Jboss..................................................................................................................................................92.3安装JDBCDriver.....................................................................................................................................102.4配置数据源................................................................................................................................................112.5配置日志....................................................................................................................................................142.6通过文件系统部署....................................................................................................................................152.7使用jboss-as-maven-plugin部署..........................................................................................................162.8使用Eclipse部署.....................................................................................................................................17三、管理Jboss........................................................................................................................................................173.1WEB管理控制台.......................................................................................................................................183.2CLI(CommandLineInterface)...........................................................................................................20四、常见问题...........................................................................................................................................................211本文基于Jboss7.1.1Final,参考了GettingStartedGuide、DeveloperGuide、GettingstartedwithJBossAS、AdminGuide等文档。文档介绍了Jboss7的新特性、部署和管理的基础知识,通过本文开发者可以快速地了解和使用Jboss7。由于本人水平有限,Jboss7官方文档尚在不断更新中,文档中所述内容也未全部进行过测试,如果发现有错误的地方,还请指出,我会更新文档,如有人转载也请保持最新。一、新特性构建在ModularServiceContainer上,充分地利用了多核处理器的能力,并发、按需启动服务,启动速度更快、占用内存更小。全面兼容(Jboss7.1)JavaEE6支持JDK6/7统一的配置和管理兼容OSGI4.2,支持OSGI和JavaEE组件模型集成。易测试利用Arquillian测试平台—一种集成测试组件模型,更易于测试,改变-编译-测试的周期更短。两种模式Standalone模式(使用standalone.bat启动)相当于以前的3、4、5、6版本。配置文件、发布内容等放在standalone目录下。Domain模式(使用domain.bat启动)是Jboss7的一个新特征,可以在一个控制点管理多个服务器。类加载类加载基于JbossModule,取代了层次类加载环境,避免了当类存在多个版本时,导致类加载错误。类加载是基于模块的,必须显示的定义模块依赖。部署也是模块化的,如果没有显示的定义类依赖则不能访问应用服务器jar中的类。尽管AS7中模块默认是隔离的,在部署过程中,一些由应用服务器定义的模块依赖会自动装配。例如,如部署一个JavaEE应用,将自动添加JavaEEAPI依赖,这也称为隐式模块依赖。Jboss7中的隐式模块依赖列表,请参见对于其它的类,必须在MANIFEST.MF文件的“Dependencies:”或“Class-Path:”项,或在jboss-deployment-structure.xml文件中定义显示的模块依赖。类加载优先级(从高到低):1、系统依赖-容器自动加载的模块依赖,包括JavaEEapi。2、用户依赖-在jboss-deployment-structure.xml(在ear的META-INF内,war的META-INF或WEB-INF内)或Dependencies:项内配置的依赖。3、本地资源-发布目录下的类文件,如war包下的WEB-INF/classes或WEB-INF/lib。4、部署间依赖-在ear内的其他部署依赖。包括earlib目录内的类,或其他ejb包内的类。War被认为是一个单独的模块,WEB-INF/lib和WEB-INF/classes内的类是相同的,都由同一类加载器加载。Ear部署是多模块的部署。这意味着不是ear内的所有类都有必要访问ear内所有其他类,除非指定明确的依赖。默认情况下,EAR/lib目录是一个单独的模块,每个WAR或EJBjar是一个单独的模块。子部署(war和ejb-jar)总是依赖父模块,可以访问EAR/lib内的类,然而它们彼此间不总是有自动依赖。可以通过修改如下配置控制这个行为:subsystemxmlns=urn:jboss:domain:ee:1.0ear-subdeployments-isolatedfalse/ear-subdeployments-isolated/subsystemear-subdeployments-isolated默认值为false,允许子部署访问其他子部署的类。2以下的ear部署,如ear-subdeployments-isolated值为false,web.war内的类能访问ejb1.jar和ejb2.jar内的类,同样,ejb1.jar内的类能访问ejb2.jar内的类。myapp.ear||---web.war||---ejb1.jar||---ejb2.jar注意:ear-subdeployments-isolated参数值不会影响war的独立类加载器。无论其值为true或false,在ear内的war都有一个独立的类加载器,ear内的其他子部署不能访问war内的类。如果值设为true,子部署间没有自动的模块依赖。用户必须手动设置MANIFEST.MF内的Class-Path,或设置明确的模块依赖。JavaEE规范推荐使用Class-Path方式实现可移植的应用。也可在jboss-deployment-structure.xml内配置这个参数,覆盖全局配置,参见后面的Jboss部署结构文件部分。MANIFEST.MF内的Dependencies配置Dependencies由逗号分隔的模块名列表组成,如下(更多内容请参见JBossAS7DeveloperGuide):Manifest-Version:1.0Dependencies:org.javassistexport,org.apache.velocityexportservices,org.antlrClass-Path:OrderManagerEJB.jar如使用maven可自动生成MANIFEST.MF,如下:build...pluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdconfigurationarchivemanifestEntriesDependenciesorg.slf4j/Dependencies/manifestEntries/archive/configuration/plugin/plugins/build注:如为jar包,应使用maven-jar-plugin。全局模块可以配置全局模块,使所有部署都能访问。修改standalone.xml/domain.xml配置文件,如下:subsystemxmlns=urn:jboss:domain:ee:1.0global-modulesmodulename=org.javassistslot=main//global-modules3/subsystemJboss部署结构文件jboss-deployment-structure.xml是Jboss特定的部署描述符,以细粒度的方式来控制类加载。应将它放在顶层部署的M