Roadmap
At this momment Kmx is only in plannig phase, so every contribution
about the general architecture is welcome.
Parallely several components are designed and tested that probably
fix in the architecture of the system:
- KmxLauncher: A Bootstrap loader that loads an object
in a specified ClassLoader taken from a lib directory (made from jars).
- KmxDaemon: Thread that check new or modified files or
resources and reloads them in the corresponding Class Loader.
- KmxServer: Must manage and control all the components
that shall be loaded in the framework, as well as prepare and launch
the helper tools (for example the KmxDaemon).
KmxLauncher
The KmxLauncher is now developed and tested.
What must the KmxLauncher do:
- Load libraries from the lib directory.
- Load resources from the resources directory.
- Find the Main class to launch (probably from the new created
classloader).
- Launch the main class (must implement KmxMain interface).
- Register a Shutdown Hook to close the Main class (calling
method closeServices from KmxMain interface).
KmxDaemon
At the present the Daemon is built. (task Id 116141)
What the Daemon do:
- Check one or more directories for new files or directories.
- Decide which loader needs a particular new component.
- Invoke the loader/reloader when a change is detected.