Pentagaia toolbox - Start

Back to start-docs .

This chapter is meant to be read by start module developers.

Creating a kernel implementation

First of all install a sun service that implements interface IPdsKernelFactory .

There are three methods available. First of all the kernel manager will invoke IPdskernelFactory to find the best implementation for a given pds kernel version. If the pds kernel version is not listed in KernelVersionType it will report the version UNKNOWN .

First of all the kernel manager will request the version specific initialization . Currently we will install a property parser that reports missing properties. And we will install a class loader extension. This will try to install it's own kernel implementation so that we can watch the kernel's lifecycle. The second task of the class loader is to return a global class set "com.sleepycat.**" . Why? The bdb contains a native library and java currently does not allow to load this native library per instance. Every class that uses native library must be loaded once (and by the bootstrap class loader).

Now that we customized the kernel's behaviour we are will be asked to create the kernel . A kernel should implement the abstract class AbstractKernelImpl . It helps us to start and run a common pds kernel. The kernel factory uses reflection to instantiate it because we do not want to mess up with class loader dependencies. Have a look at the existing kernel implementations and look at the pds kernel classes. The implementation should be fairly simple. If a newer kernel version does not support the straight forward creation and starting you may need to create your own implementation.