by
At present the tasks support:
Over time we expect further optional tasks to support additional J2EE Servers.
| Task | Application Servers | |
|---|---|---|
| serverdeploy | Nested Elements | |
| generic | Generic task | |
| jonas | JOnAS 2.4 | |
| weblogic | WebLogic | |
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.
| 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 | 
The serverdeploy task supports a nested classpath element to set the
classpath.
Also supported are nested vendor-specific elements.
| 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 | 
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 | 
The generic element supports nested <arg> and <jvmarg>
elements.
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>
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 | 
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>
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 | 
The jonas element supports nested <arg>
and <jvmarg> elements.
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>