DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
The standard Felix launcher is very simple and is not intended to solve every possible requirement; it is intended to work for most standard situations. Most special launching requirements should likely create their own custom launcher. This section describes how the standard launcher works. The following code represents the complete main() method of the standard launcher, each numbered comment will be described in more detail below:
| Code Block |
|---|
public static void main(String[] argv) throws Exception { // (1) Load system properties. Main.loadSystemProperties(); // (2) Read configuration properties. Properties configProps = Main.loadConfigProperties(); // (3) Copy framework properties from the system properties. Main.copySystemProperties(configProps); // (4) See if the profile name property was specified. String profileName = configProps.getProperty(BundleCache.CACHE_PROFILE_PROP); // (4) See if the profile directory property was specified. String profileDirName = configProps.getProperty(BundleCache.CACHE_PROFILE_DIR_PROP); // Print welcome banner. System.out.println("\nWelcome to Felix."); System.out.println("=================\n"); // (5) If no profile or profile directory is specified in the // properties, then ask for a profile name. if ((profileName == null) && (profileDirName == null)) { System.out.print("Enter profile name: "); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { profileName = in.readLine(); } catch (IOException ex) { System.err.println("Could not read input."); System.exit(-1); } System.out.println(""); if (profileName.length() != 0) { configProps.setProperty(BundleCache.CACHE_PROFILE_PROP, profileName); } } // (6) A profile directory or name must be specified. if ((profileDirName == null) && (profileName.length() == 0)) { System.err.println("You must specify a profile name or directory."); System.exit(-1); } try { // (7) Now create an instance of the framework. m_felix = new Felix(); m_felix.start( new MutablePropertyResolverImpl(new StringMap(configProps, false)), null); } catch (Exception ex) { System.err.println("Could not create framework: " + ex); ex.printStackTrace(); System.exit(-1); } } |
The general steps of the standard launcher are quite straightforward:
...