felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Kriens (JIRA)" <j...@apache.org>
Subject [jira] Created: (FELIX-515) Documentation for FileInstall
Date Thu, 06 Mar 2008 10:18:57 GMT
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

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. 


The bundle runs on any framework. For its configuration, it will use the following system
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.

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

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

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.

View raw message