Nebula Archives allow required libraries ( {@code .jar}) to be included within the archive itself, unlike the standard {@code JAR} file format.
The structure of Nebula Archive is as follows:
The libraries are to be packaged in {@code NEBULA-INF/lib} directory.A special class loader is used by Nebula Framework to load required classes from the libraries included in a Nebula Archive. Refer to {@link GridArchiveClassLoader} for additional information regarding classloading. META-INF/ | - Manifest.mf - ... NEBULA-INF/ | - lib / | - library1.jar - ... - ... yourpackage / | - ... your.class ...
{@code GridArchive} keeps the {@code byte[]} of a {@code .nar} file, and SHA1Hash for the {@code byte[]}, for verification purposes. The hash for the {@code byte[]} is generated at the time of creation of the{@code GridArchive} instance for a {@code .nar} file. At each remote node,this hash will be compared with a SHA1-Hash generated at the time, to ensure that the {@code GridArchive} contains valid data.
To instantiate a {@code GridArchive}, use the following factory methods
This class implements {@link Externalizable} interface, instead of{@link Serializable} to improve performance in communications, by reducingthe data transfer amount and serialization time [Grosso, W. 2001. "Java RMI", Section 10.7.1]. @author Yohan Liyanage @version 1.0 @see GridJob @see GridArchiveClassLoader
|
|