【问题标题】:How to start and stop jboss server using Ant task?如何使用 Ant 任务启动和停止 jboss 服务器?
【发布时间】:2015-11-18 21:36:14
【问题描述】:

我需要停止,部署我的 ear 文件并使用 Ant 任务启动 Jboss 服务器。

我能够使用 Ant 任务成功地编译、构建和部署我的 J2EE 应用程序作为一个 ear 文件到 JBoss 服务器中。我们可以在 jboss 控制台中看到我的应用程序的重新部署。我想在部署之前停止服务器并启动服务器。

有什么办法吗?

【问题讨论】:

    标签: ant jboss


    【解决方案1】:

    这里是如何启动/停止 JBoss 应用程序容器,包括部署应用程序:

    <!-- Stop Jboss -->
    <target name="stop-jboss" description="Stops back-end EJB container" >
        <exec executable="${jboss.bin.dir}/shutdown.bat" spawn="true">
            <arg line="-S" />
        </exec>
        <echo>+-----------------------------+</echo>
        <echo>| J B O S S   S T O P P E D   |</echo>
        <echo>+-----------------------------+</echo>
    </target>
    
    <!-- Start Jboss -->
    <target name="start-jboss" description="Starts back-end EJB container" >
        <exec executable="${jboss.bin.dir}/run.bat" spawn="true">
        </exec>
        <echo>+-----------------------------+</echo>
        <echo>| J B O S S   S T A R T E D   |</echo>
        <echo>+-----------------------------+</echo>
    </target>
    
    <!-- deploy target-->
    <target name="deploy-war" description="deploy war file" depends="prepare">
      <sequential>
        <antcall target="stop-jboss" />
        <war destfile="${file.name}" webxml="conf/web.xml">
           <classes dir="bin" />
        </war>
        <antcall target="start-jboss" />
            <echo>+----------------------------+</echo>
            <echo>|   W A R  D E P L O Y E D   |</echo>
            <echo>+----------------------------+</echo>
      </sequential>
    </target>
    

    希望这有帮助:)

    【讨论】:

    • 好的,但是当JBOSS服务器是远程的时候怎么做呢?
    【解决方案2】:

    Cargo 支持 ANT,旨在支持多个 J2EE 容器

    【讨论】:

      【解决方案3】:

      适当的独立于操作系统的答案是这样的:

      <property name="my.jboss.home" value="/path/to/jboss/install/dir" />
      <property name="my.jboss.host" value="localhost" />
      <property name="my.jboss.port" value="9999" />
      <property name="my.jboss.name" value="my-jboss-instance" />
      <property name="my.jboss.debugport" value="8787" />
      
      <!-- supposedly this is built by a seperate task -->
      <property name="my.deployment" value="${basedir}/build/deployment.ear" />
      
      <!-- starting preset -->
      <presetdef name="start-jboss-preset">
          <java jar="${jboss.home}/jboss-modules.jar" fork="true" taskname="${jboss.name}">
              <jvmarg value="-server" />
              <jvmarg value="-Xms1024m" />
              <jvmarg value="-Xmx1024m" />
              <jvmarg value="-Dorg.jboss.boot.log.file=${jboss.home}/standalone/log/server.log" />
              <jvmarg value="-Dlogging.configuration=file:${jboss.home}/standalone/configuration/logging.properties" />
              <arg line="-mp ${jboss.home}/modules/ -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone" />
              <jvmarg value="-Djboss.home.dir=${jboss.home}" />
              <arg value="-b=localhost" />
              <arg value="-c=standalone-full.xml" />
              <jvmarg value="-Djboss.node.name=${jboss.name}" />
          </java>
      </presetdef>
      
      <!-- internal task to actually start jboss -->
      <target name="start-jboss">
          <start-jboss-preset />
      </target>
      
      <!-- internal task to start jboss in debug mode -->
      <target name="start-jboss-debug">
          <start-jboss-preset taskname="dbg:${jboss.name}:${jboss.debugport}">
              <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jboss.debugport},server=y,suspend=n" />
          </start-jboss-preset>
      </target>
      
      <!-- preset to run jboss-cli, this can be used to push any command to a running
           jboss instance -->
      <presetdef name="jboss-cli">
          <java jar="${jboss.home}/jboss-modules.jar" fork="true">
              <arg line="-mp ${jboss.home}/modules org.jboss.as.cli" />
              <arg value="--controller=${jboss.host}:${jboss.port}" />
              <arg value="--connect" />
          </java>
      </presetdef>
      
      <!-- the actual shut down command -->
      <target name="exec-jboss">
          <jboss-cli failonerror="true">
              <arg value="${jboss.command}" />
          </jboss-cli>
      </target>
      
      <!-- public targets with your properties set -->
      <target name="start" description="starts jboss instance">
          <antcall target="start-jboss">
              <param name="jboss.home" value="${my.jboss.home}" />
              <param name="jboss.name" value="${my.jboss.name}" />
          </antcall>
      </target>
      
      <target name="debug" description="starts jboss instance in debugmode">
          <antcall target="start-jboss-debug">
              <param name="jboss.home" value="${my.jboss.home}" />
              <param name="jboss.name" value="${my.jboss.name}" />
              <param name="jboss.debugport" value="${my.jboss.debugport}" />
          </antcall>
      </target>
      
      <target name="stop" description="stops jboss instance">
          <antcall target="exec-jboss">
              <param name="jboss.home" value="${my.jboss.home}" />
              <param name="jboss.host" value="${my.jboss.host}" />
              <param name="jboss.port" value="${my.jboss.port}" />
              <param name="jboss.command" value="shutdown" />
          </antcall>
      </target>
      
      <!-- a dependent build / package task should be present -->
      <target name="deploy" description="deploys to a running jboss instance">
          <antcall target="exec-jboss">
              <param name="jboss.home" value="${my.jboss.home}" />
              <param name="jboss.host" value="${my.jboss.host}" />
              <param name="jboss.port" value="${my.jboss.port}" />
              <param name="jboss.command" value="deploy ${my.deployment}" />
          </antcall>
      </target>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-03
        • 2013-10-05
        • 1970-01-01
        • 2015-08-06
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        相关资源
        最近更新 更多