Many applications have configuration files that are intended to be customized by the user and need to be in an easily accessible location. Geronimo is designed so you can create an application specific configuration directory under the
var directory for this purpose. There are several ways for your application to locate this directory and the files in it. If you deploy your application as a Geronimo plugin you can specify that the original of these files be unpacked from your application plugin when it is installed.
See also the discussion of the system and server locations relevant to running multiple instances from one installation.
Locating the files as files
There are three ways to locate files in a Geronimo installation. They all depend on the ServerInfo gbean which is intended to be the universal source of location information for the server.
Direct use of ServerInfo
You can specify a gbean-ref to ServerInfo in your geronimo plan:
Look it up in code:
Use of geronimo system properties
The ServerInfo gbean sets up two system properties that indicate where the geronimo system and server is located.
Your program can use these to construct the location of your files:
Installing app-specific system properties
You can include a SystemPropertiesGBean in your geronimo plan and set up application specific system properties that can then be used by your program:
Locating the files in the classpath
It is also possible to to extend the classloader of your application to include a directory into which you can put your configuration files by including a SharedLib gbean in the geronimo plan for your application: