The Source for Java Technology Collaboration
User: Password:



Manveen Kaur's Blog

J2EE Archives


Creating a GlassFish Update Center module

Posted by manveen on June 15, 2007 at 03:53 PM | Permalink | Comments (3)

To try GlassFish Update Center, install GlassFish V2 (screencast). Then go to install-root/glassfish/updatecenter/bin and invoke updatetool (or updatetool.bat). You'll see a list of addon modules available for installation.

But what's an addon and how do you create one?

An addon is a companion product or runtime component installed on top of Sun Java System Application Server.

Right, but how do you create such a module?

To start with, you need to implement an com.sun.appserv.addons.Installer interface. You may also need a com.sun.appserv.addons.Configurator interface implementation.

What's the difference between and installer and a configurator plugin?

If addon requires installation of shared files which are not specific to a particular application server domain, installation and initial configuration of such files must be handled by installer plugin. The installer plugin has read-write access to installation root directory (INSTALL_ROOT) of the appserver. Installer plugin is invoked either at the end of appserver installation or when the CLI command asadmin install-addon addon_name_installer.jar is executed.
The configurator plugin should assume read-only access to INSTALL_ROOT and read-write access to root directory of the domain (DOMAIN_DIR). The configurator will be invoked once, prior to starting application server domain. The configurator will access application server configuration files like DOMAIN_DIR/config/domain.xml, DOMAIN_DIR/config/server.policy etc. and make necessary changes.

Where can I get the installer plugin API?

From Maven

How do I package the installer plugin?

addon_name_installer.jar
        |- META-INF/services/com.sun.appserv.addons.Installer
        |- InstallerImpl.class (implements Installer)
        |- InstallerUtil.class
        |- InstallerMore.class
        |- addon_name_configurator_01_01_00.jar
           |- META-INF/services/com.sun.appserv.addons.Configurator
           |- ConfiguratorImpl.class (implements Configurator)
           |- Another.class
           |- More.class
           |- Util.class 

How do I invoke and test the installer plugin?

Installer plugin is invoked either at the end of appserver installation or when the CLI command

asadmin install-addon addon_name_installer.jar 

Now for the final packaging.

File system layout for downloadable module file (equivalent of NetBeans NBM file) will be jar archive file with following structure:

         module_xx.jar
                |   
                +- info
                |   |
                |   +- info.xml
                |
                +- module
                      |
                      |
                      +- locale (optional, for localized packages)
                           |
                           |
                           +-installer_xx.jar or installer_xx.zip

installer_xx.jar can be addon component installer or configurator jar file as specified in Addon installer and configurator plug-in imported interfaces.

The DTD for info.xml is here.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds