Class DefaultApplicationInitializer

  • All Implemented Interfaces:
    ApplicationInitializer

    public class DefaultApplicationInitializer
    extends java.lang.Object
    implements ApplicationInitializer
    Default implementation of the application initializer interface.

    Supported configuration parameters:

    org.java.plugin.boot.applicationPlugin
    ID of plug-in to start. There is no default value for this parameter. In common scenario, this is the only parameter that you must provide.
    org.java.plugin.boot.integrityCheckMode
    Regulates how to check plug-ins integrity when running JPF. Possible values: full, light, off. The default value is full.
    org.java.plugin.boot.pluginsCollector
    Plug-ins location collector class, for details see PluginsCollector. Default is DefaultPluginsCollector.
    org.java.plugin.boot.pluginsWhiteList
    Location of the file with plug-in identifiers that should be only accepted by this application initializer. This is optional parameter.
    org.java.plugin.boot.pluginsBlackList
    Location of the file with plug-in identifiers that should not be accepted by this application initializer. This is optional parameter.
    Note that all given configuration parameters are passed to ObjectFactory.newInstance(ExtendedProperties) when running JPF (see bellow). This allows you to configure JPF precisely.

    Black and white lists of plug-ins

    In some situations you may want to temporary exclude some of your plug-ins from the application scope. This may be achieved with help of while and black lists - simple plain text files that contain lists of plug-in identifiers to be included/excluded from the application. Each identifies should be in separate line. You may provide unique plug-in ID also.

    What is application plug-in?

    When application starts, the Boot.main(String[]) method executed calling initApplication(BootErrorHandler, String[]) to get initialized instance of Application (or ServiceApplication) class. The method initApplication(BootErrorHandler, String[]) in this implementation scans plug-in repositories to collect all available plug-in files and folders (using special class that can be customized), instantiates JPF and publishes all discovered plug-ins. After that it asks PluginManager for an Application Plug-in with ID provided as configuration parameter. Returned class instance is expected to be of type ApplicationPlugin and it's method ApplicationPlugin.initApplication(ExtendedProperties, String[]) called.

    To the mentioned initApplication method passed a subset of configuration properties whose names start with application plug-in ID followed with dot character '.' (see ExtendedProperties.getSubset(String) for details).

    As a result of the described procedure, the Boot get instance of Application interface, so it can start application calling Application.startApplication() method.

    Version:
    $Id$