Apache Ant ServerDeploy User Manual

by


At present the tasks support:

Over time we expect further optional tasks to support additional J2EE Servers.


TaskApplication Servers
serverdeployNested Elements
genericGeneric task
jonasJOnAS 2.4
weblogicWebLogic

ServerDeploy element

Description

The serverdeploy task is used to run a "hot" deployment tool for vendor-specific J2EE server. The task requires nested elements which define the attributes of the vendor-specific deployment tool being executed. Vendor-specific deployment tools elements may enforce rules for which attributes are required, depending on the tool.

Parameters

Attribute Description Required
action This is the action to be performed. For most cases this will be deploy. Some tools support additional actions, such as delete, list, undeploy, update, ... Yes
source A fully qualified path/filename of the component to be deployed. This may be an .ear, .jar, .war, or any other type that is supported by the server. Tool dependent

Parameters specified as nested elements

The serverdeploy task supports a nested classpath element to set the classpath.

Vendor-specific nested elements

Also supported are nested vendor-specific elements.

Parameters used for all tools

Attribute Description Required
classpath The classpath to be passed to the JVM running the tool. The classpath may also be supplied as a nested element. Tool dependent
server The address or URL for the server where the component will be deployed. Tool dependent
username The user with privileges to deploy applications to the server. Tool dependent
password The password of the user with privileges to deploy applications to the server. Tool dependent

Generic element

This element is provided for generic Java-based deployment tools. The generic task accepts (but does not require) nested arg and jvmarg elements. A JVM will be spawned with the provided attributes. It is recommended that a vendor-specific element be used over the generic one if at all possible.

The following attributes are supported by the generic element.

Attribute Description Required
classname This is the fully qualified classname of the Java based deployment tool to execute. Yes

Nested elements

The generic element supports nested <arg> and <jvmarg> elements.

Example

This example shows the use of generic deploy element to deploy a component using a Java based deploy tool:

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear">
    <generic classname="com.yamato.j2ee.tools.deploy.DeployTool"
             classpath="${classpath}"
             username="${user.name}"
             password="${user.password}">
        <arg value="-component=WildStar"/>
        <arg value="-force"/>
        <jvmarg value="-ms64m"/>
        <jvmarg value="-mx128m"/>
    </generic>
</serverdeploy>

WebLogic element

The WebLogic element contains additional attributes to run the weblogic.deploy deployment tool.

Valid actions for the tool are deploy, undeploy, list, update, and delete.

If the action is deploy or update, the application and source attributes must be set. If the action is undeploy or delete, the application attribute must be set. If the username attribute is omitted, it defaults to system. The password attribute is required for all actions.

Attribute Description Required
application This is the name of the application being deployed Yes
component This is the component string for deployment targets. It is in the form <component>:<target1>,<target2>... Where component is the archive name (minus the .jar, .ear, .war extension). Targets are the servers where the components will be deployed No
debug If set to true, additional information will be printed during the deployment process. No

Examples

This example shows the use of serverdeploy to deploy a component to a WebLogic server:

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear">
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"
              component="ejb_foobar:myserver,productionserver"
              debug="true"/>
</serverdeploy>

This example shows serverdeploy being used to delete a component from a WebLogic server:

<serverdeploy action="delete" source="${lib.dir}/ejb_myApp.jar"/>
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"/>
</serverdeploy>

JOnAS (Java Open Application Server) element

The JOnAS element contains additional attributes to run the JonasAdmin deployment tool.

Valid actions for the tool are deploy, undeploy, list and update.

You can't use user and password property with this task.

Attribute Description Required
jonasroot The root directory for JOnAS. Yes
orb Choose your ORB: RMI, JEREMIE, DAVID, ... The corresponding JOnAS JAR is automatically added to the classpath. If your orb is DAVID (RMI/IIOP) you must specify davidhost and davidport properties. No; defaults to the ORB present in classpath
davidhost The value for the system property: david.CosNaming.default_host. No
davidport The value for the system property: david.CosNaming.default_port. No
classname This is the fully qualified classname of the Java based deployment tool to execute. No; default is org.objectweb.jonas.adm.JonasAdmin

Nested elements

The jonas element supports nested <arg> and <jvmarg> elements.

Examples

This example shows the use of serverdeploy to deploy a component to a JOnAS server:

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.jar">
    <jonas server="MyJOnAS" jonasroot="${jonas.root}">
       <classpath>
           <pathelement path="${jonas.root}/lib/RMI_jonas.jar"/>
           <pathelement path="${jonas.root}/config/"/>
       </classpath>
    </jonas>
</serverdeploy>

This example shows serverdeploy being used to list the components from a JOnAS server and a WebLogic server:

<serverdeploy action="list"/>
    <jonas jonasroot="${jonas.root}" orb="JEREMIE"/>
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"/>
</serverdeploy>