Creating a GlassFish Update Center module
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.
- Login or register to post comments
- Printer-friendly version
- manveen's blog
- 1712 reads





