Documentation for FileInstall
-----------------------------

                 Key: FELIX-515
                 URL: https://issues.apache.org/jira/browse/FELIX-515
             Project: Felix
          Issue Type: Improvement
          Components: File Install
            Reporter: Peter Kriens
            Priority: Trivial


This is the documentation of File Install, for legal reasons put in here so 
they can be used by the project with the Apache Software License 2.0

FileInstall is a directory based management agent. It uses a directory in the 
file system to install+start a bundle when it is first place there. It updates 
the bundle when you update the bundle file in that directory, and when the file 
is deleted it will stop+uninstall the bundle.

FileInstall can do the same for configuration configuration files. This 
surprisingly simple bundle is very powerful because there are so many programs 
that work with the file system. For example:

    * If you use ant, you can just copy the resulting bundle to the watched 
directory.
    * You can download bundles from the web and directly install them without 
any extra effort.
    * You can easily drag and drop bundles in and out of the framework. 

Setup

The bundle runs on any framework. For its configuration, it will use the 
following system properties:
Property        Default Description
aQute.fileinstall.poll  2000 ms Number of milliseconds between 2 polls of the 
directory
aQute.fileinstall.dir   ./load  The name of the directory to watch
aQute.fileinstall.debug -1      Debug information

Once started, the values of these properties are printed to the console.
Configurations

Configuration files are plain property files (java.util.Property). The format 
is simple:

    file        ::= ( header | comment ) *
    header      ::=  <header> ( ':' | '=' ) 
                       <value> ( '\<nl> <value> ) *
    comment     ::= '#' <any>

Notice that this model only supports String properties.

For example:

  # default port
  ftp.port = 21
  fto

Configuration file names are related to the PID and factory PID. The structure 
of the file name is as follows:

   filename ::= <pid> ( '-' <subname> )? '.cfg'

If the form is <pid>.cfg, the file contains the properties for a Managed 
Service. The <pid> is then the PID of the Managed Service. See the 
Configuration Admin service for details.

When a Managed Service Factory is used, the situation is different. The <pid> 
part then describes the PID of the Managed Service Factory. You can pick any 
<subname>, this bundle will then create an instance for the factory for each 
unique name. For example:

   com.acme.xyz.cfg         // configuration for Managed Service
                            // com.acme.xyz
   com.acme.abc-default.cfg // Managed Service Factory,
                            // creates an instance for com.acme.abc

        


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to