服务器 频道

在JBoss AS7中进行项目部署

        【IT168 技术】  AS7的项目部署方式与原有版本相比有了较大变化,本文通过实例来讲解AS7中的项目部署方式。

  AS7的项目部署方式与原有版本相比有了较大变化,本文通过实例来讲解AS7中的项目部署方式。

  部署一个简单的Web项目

  下载安装完成后,我们用standalone方式来启动JBoss AS7:

  liweinan@smart:~/projs/jboss-7.0.0.CR1/bin$ ./standalone.sh

  启动后,我们试着向AS7中部署一个简单的项目。首先使用Maven来创建一个简单的Web工程:

  mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

  生成的项目如下:

  .

  |-- pom.xml

  `-- src

  `-- main

  |-- resources

  `-- webapp

  |-- WEB-INF

  | `-- web.xml

  `-- index.jsp

  使用如下命令将项目打成WAR包:

  mvn package

  得到war:

  target

  `-- my-webapp.war

  接下来,我们将这个war部署进AS7。在AS7的根目录下,有一个名为'standalone'的目录,当AS7以standalone模式运行时,我们要将项目部署到这里面,进入到standalone目录:

  liweinan@smart:~/projs/jboss-7.0.0.CR1$ cd standalone

  liweinan@smart:~/projs/jboss-7.0.0.CR1/standalone$ ls

  configuration deployments log

  data lib tmp

  liweinan@smart:~/projs/jboss-7.0.0.CR1/standalone$

  standalone目录中包含许多运行所需的内容,比如'configuration'目录包含了服务器的有关配置,我们稍后会进行说明。现在我们要关心的是'deployments'目录,我们要将需要部署的项目放在这里,JBoss AS7会自动扫描这个目录并进行部署。我们将刚刚制作好的my-webapp.war拷贝至deployments目录:

  liweinan@smart:~/projs/my-webapp/target$ cp my-webapp.war ~/projs/jboss-7.0.0.CR1/standalone/deployments/

  此时查看AS7的日志输出:

  16:12:33,822 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) Starting deployment of "my-webapp.war"

  16:12:36,616 INFO [org.jboss.web] (MSC service thread 1-4) registering web context: /my-webapp

  16:12:36,740 INFO [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployed "my-webapp.war"

  从日志中可以看出,项目被成功地部署进了AS7。我们试着访问下已部署的服务:

  可以看到部署成功。

  AS7中项目的自动部署及手工部署

  我们在上一节通过将项目拷贝至deployments目录,就实现了AS7对项目的自动扫描及自动部署。实际上AS7还支持手工的部署模式,这样,我们就可以控制项目的部署及启动时机。配置AS7的部署模式有两种方式:一个是通过在配置文件指定,另一个是在AS7运行时,通过管理端来进行实时的配置。

  我们首先来看一下配置文件中的内容,JBoss AS7相对以前版本比较,大大简化了精减了配置文件的数量。原来的*-ds.xml等数据库的配置文件,都被合并至了统一的配置文件:standalone.xml[3] 。这个文件位于刚才提到的/standalone/configuration目录当中,详细讲解这个配置文件也不是这篇文章要关注的地方,因此我们只需要了解一下这个配置文件中,与部署有关的这段内容:

  

  

  relative-to="jboss.server.base.dir" path="deployments" />

  

  可以看到,配置中指定deployment-scanner去扫描deployments目录,扫描间隔为5秒钟。

  除了在配置文件中进行配置,我们也可以在AS7实时运行时,通过管理端来改变AS7的部署方式。首先是登录到管理端,使用AS7中bin目录中带有的管理端连接程序jboss-admin.sh

  liweinan@smart:~/projs/jboss-7.0.0.CR1/bin$ ./jboss-admin.sh

  You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.

  [disconnected /] connect 127.0.0.1

  Connected to standalone controller at 127.0.0.1:9999

  [standalone@127.0.0.1:9999 /]

  连接成功后,我们可以查看当前的scanner配置:

  [standalone@127.0.0.1:9999 /] /subsystem=deployment-scanner:read-resource(recursive=true)

  {

  "outcome" => "success",

  "result" => {"scanner" => {"default" => {

  "auto-deploy-exploded" => false,

  "auto-deploy-zipped" => true,

  "deployment-timeout" => 60L,

  "name" => "default",

  "path" => "deployments",

  "relative-to" => "jboss.server.base.dir",

  "scan-enabled" => true,

  "scan-interval" => 5000

  }}}

  }

0
相关文章