|
|
@@ -163,32 +163,38 @@ or are out of date, the ejbc tool is run to generate new versions. |
|
|
|
<h3><b>Description:</b></h3> |
|
|
|
<p>This task is designed to support building of arbitrary EJB1.1 jar files. Support is currently |
|
|
|
provided for 'vanilla' EJB1.1 jar files - i.e. those containing only the user generated class |
|
|
|
files and the standard deployment descriptor, as well as for WebLogic 5.1 jar files.</p> |
|
|
|
|
|
|
|
files and the standard deployment descriptor. Nested elements provide support for vendor |
|
|
|
specific deployment tools. Currently a nested element is provided for Weblogic 5.1 using the |
|
|
|
weblogic.ejbc tool.</p> |
|
|
|
|
|
|
|
<p>This task assumes a particular naming convention for deployment descriptor files. For an |
|
|
|
Account bean, for example, the deployment descriptor would be named <code>Account-ejb-jar.xml</code>. |
|
|
|
This naming convention allows the task to distinguish deployment descriptors without relying on |
|
|
|
their positioning within a source tree. It is also used to derive the name of the .jar file |
|
|
|
which is generated. For the example this would be <code>Account.jar</code>. Vendor specific files |
|
|
|
are assumed to be named in a similar fashion. The deployment descriptor file which defines |
|
|
|
additional weblogic specific information for the above bean would be |
|
|
|
<code>Account-weblogic-ejb-jar.xml</code>. |
|
|
|
|
|
|
|
<p>The task works as a directory scanning task, and performs an action for each deployment descriptor |
|
|
|
found. As such the includes and excludes should be set to ensure that all desired EJB1.1 |
|
|
|
descriptors are found, but no application server descriptors are found. For each descriptor |
|
|
|
found, ejbjar will parse the deployment descriptor to determine the necessary class files to |
|
|
|
include and assemble those files and necessary deployment descriptors into a well formed EJB |
|
|
|
jar file. If generateweblogic is set to true, weblogic.ejbc is then invoked (in VM) to create |
|
|
|
the WebLogic jar file.</p> |
|
|
|
found, ejbjar will parse the deployment descriptor to determine the necessary class files which |
|
|
|
implement the bean. These files are assembled along with the deployment descriptors into a well |
|
|
|
formed EJB jar file. Note that support classes used by the bean but which are not part of the |
|
|
|
bean's interfaces are not included in the assembled jar. These need to be collected into a |
|
|
|
separate support jar file.</p> |
|
|
|
|
|
|
|
<p>In order to locate the WebLogic deployment descriptors for each jar file, certain naming |
|
|
|
conventions are assumed. For the purpose of this document we will assume a basenameterminator |
|
|
|
of '-' (see below for how to specify this option). If you have a deployment descriptor called |
|
|
|
FooBean-ejb-jar.xml, the basename will be taken as FooBean, the string up to the basenameterminator. |
|
|
|
Descriptors will then be searched for called FooBean-weblogic-ejb-jar.xml and also |
|
|
|
FooBean-weblogic-cmp-rdbms-jar.xml. If generateweblogic is false, neither WebLogic descriptor is |
|
|
|
required, but will still be embedded if found. If generateweblogic is true, only |
|
|
|
FooBean-weblogic-ejb-jar.xml is required, but again, both will be embedded in the jar file if |
|
|
|
they are found.</p> |
|
|
|
<p>If no nested vendor-specific deployment elements are present, the task will simply generate a |
|
|
|
generic EJB jar. Such jars are typically used as the input to vendor-specific deployment tools. |
|
|
|
For each nested deployment element, a vendor specific deployment tool is run to generate a jar file |
|
|
|
ready for deployment in that vendor's EJB container. Note that at this time the only supported tool is |
|
|
|
Weblogic's ejbc tool. |
|
|
|
|
|
|
|
<p>The jar files are only built if they are out of date. As more than one jar file can be built |
|
|
|
per deployment descriptor, this process works as follows. If generateweblogic is true use the |
|
|
|
modification date of the WebLogic jar file as the jar file modification date, otherwise use the |
|
|
|
modification date of the generic jar file. If the modification timestamp of any of the class |
|
|
|
files or deployment descriptors is later than the selected jar file's, a build is executed, |
|
|
|
otherwise a message is logged that the jar file is up to date.</p> |
|
|
|
<p>The jar files are only built if they are out of date. Each deployment tool element will examine |
|
|
|
its target jar file and determine if it is out of date with respect to the class files and |
|
|
|
deployment descriptors that make up the bean. If any of these files are newer than the jar file |
|
|
|
the jar will be rebuilt otherwise a message is logged that the jar file is up to date.</p> |
|
|
|
|
|
|
|
<h3>Parameters:</h3> |
|
|
|
<table border="1" cellpadding="2" cellspacing="0"> |
|
|
@@ -198,28 +204,24 @@ or are out of date, the ejbc tool is run to generate new versions. |
|
|
|
<td align="center" valign="top"><b>Required</b></td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">srcdir</td> |
|
|
|
<td valign="top">descriptordir</td> |
|
|
|
<td valign="top">The base directory under which to scan for EJB deployment descriptors.</td> |
|
|
|
<td valign="top" align="center">Yes</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">destdir</td> |
|
|
|
<td valign="top">The base directory under which generated jar files are deposited. Jar files are deposited in |
|
|
|
directories correpsonding to the package in which their deployment descriptor was found.</td> |
|
|
|
<td valign="top">srcdir</td> |
|
|
|
<td valign="top">The base directory containg the .class files that make up the bean. |
|
|
|
Note that this can be the same as the descrptordir if all files are |
|
|
|
in the same directory tree.</td> |
|
|
|
<td valign="top" align="center">Yes</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">generateweblogic</td> |
|
|
|
<td valign="top">Boolean value specifying whether or not ejbc should be invoked to create the weblogic jar file. |
|
|
|
Acceptable values are 'true' and 'false'.</td> |
|
|
|
<td valign="top" align="center">No, defaults to 'false'.</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">keepgeneric</td> |
|
|
|
<td valign="top">Boolean value specifying whether or not to keep the generic EJB1.1 jar files created. If you are |
|
|
|
only interested in the generated WebLogic jar files, set this to false to remove the temporary |
|
|
|
jar files created. Acceptable values are 'true' and 'false'.</td> |
|
|
|
<td valign="top" align="center">No, defaults to 'true'.</td> |
|
|
|
<td valign="top">destdir</td> |
|
|
|
<td valign="top">The base directory into which generated jar files are deposited. Jar files are deposited in |
|
|
|
directories correpsonding to their location within the descriptordir namespace. Note that |
|
|
|
this attribute is only used if the task is generating generic jars (i.e. no vendor-specific |
|
|
|
deployment elements have been specified).</td> |
|
|
|
<td valign="top" align="center">Yes</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">basenameterminator</td> |
|
|
@@ -237,22 +239,62 @@ or are out of date, the ejbc tool is run to generate new versions. |
|
|
|
generic EJB jar file.</td> |
|
|
|
<td valign="top" align="center">No, defaults to '-generic.jar'.</td> |
|
|
|
</tr> |
|
|
|
</table> |
|
|
|
|
|
|
|
<h3>Vendor-specific deployment elements</h3> |
|
|
|
|
|
|
|
Each vendor-specific nested element controls the generation of a deployable jar specific to that vendor's |
|
|
|
EJB container. The parameters for each supported deployment element are detailed here. |
|
|
|
|
|
|
|
<h3>Weblogic element</h3> |
|
|
|
<table border="1" cellpadding="2" cellspacing="0"> |
|
|
|
<tr> |
|
|
|
<td valign="top">weblogicjarsuffix</td> |
|
|
|
<td valign="top"><b>Attribute</b></td> |
|
|
|
<td valign="top"><b>Description</b></td> |
|
|
|
<td align="center" valign="top"><b>Required</b></td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">destdir</td> |
|
|
|
<td valign="top">The base directory into which the generated weblogic ready jar files are deposited. Jar files are deposited in |
|
|
|
directories correpsonding to their location within the descriptordir namespace. </td> |
|
|
|
<td valign="top" align="center">Yes</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">genericjarsuffix</td> |
|
|
|
<td valign="top">A generic jar is generated as an intermeditate step in build the weblogic deployment |
|
|
|
jar. The suffix used to generate the generic jar file is not particularly important |
|
|
|
unless it is desired to keep the generic jar file. It should not, however, be the same |
|
|
|
as the suffix setting.</td> |
|
|
|
<td valign="top" align="center">No, defaults to '-generic.jar'.</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">suffix</td> |
|
|
|
<td valign="top">String value appended to the basename of the deployment descriptor to create the filename of the |
|
|
|
WebLogic EJB jar file.</td> |
|
|
|
<td valign="top" align="center">No, defaults to '-wl.jar'.</td> |
|
|
|
<td valign="top" align="center">No, defaults to '.jar'.</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">classpath</td> |
|
|
|
<td valign="top">The classpath to be used when running the weblogic ejbc tool. Note that this tool |
|
|
|
typically requires the classes that make up the bean to be available on the classpath. |
|
|
|
Currently, however, this will cause the ejbc tool to be run in a separate VM</td> |
|
|
|
<td valign="top" align="center">No</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td valign="top">keepgeneric</td> |
|
|
|
<td valign="top">This controls whether the generic fiule used as input to ejbc is retained.</td> |
|
|
|
<td valign="top" align="center">No, defaults to false</td> |
|
|
|
</tr> |
|
|
|
</table> |
|
|
|
|
|
|
|
|
|
|
|
<h3>Examples</h3> |
|
|
|
This example shows ejbjar being used to generate deployment jars for a Weblogic EJB container. |
|
|
|
<pre> |
|
|
|
<ejbjar srcdir="classes" |
|
|
|
destdir="classes" |
|
|
|
generateweblogic="true" |
|
|
|
keepgeneric="false" |
|
|
|
genericjarsuffix="-temp.jar" |
|
|
|
weblogicjarsuffix=".jar"> |
|
|
|
<ejbjar srcdir="${build.classes}" |
|
|
|
descriptordir="${descriptor.dir}"> |
|
|
|
<weblogic destdir="${deploymentjars.dir}" |
|
|
|
classpath="${descriptorbuild.classpath}"/> |
|
|
|
<include name="**/*-ejb-jar.xml"/> |
|
|
|
<exclude name="**/*weblogic*.xml"/> |
|
|
|
</ejbjar> |
|
|
|