Alternate Kernels

Introduction

Phoenix can launch with alternate kernels. Apart from the default kernel which is suitable for deploying in live scenarios, we supply a kernel which loads beanshell during startup.

Beanshell enabled kernel

This allows pretty much anything to be done to applications and blocks once started. As such it is not suitable for live deployment as it could be considered a bit of a hackers tool.

The supplied commands are getblock, prtapps, prtblocks, resumeapp, rmvapp, startapp, stopapp and suspendapp. With getapp, you can invoke any of the public methods on the implementation, including interacting with the block's methods from its service.

To create a beanshell capable kernel, place the bsh-1.2b7.jar from here in the lib directory of phoenix before building it. You will need to edit the 'beanshell.jars' and 'kernel.impl.class' parts of the ant.properties file. You may also want to add your own convenience bsh scripts to the src/bsh/ directory.

Alternatively, with a binary distribution of Phoenix, it is sufficient to just place the beanshell jar in the lib directiory of an unzipped Phoenix. To enable it, edit conf/kernel.conf and change the kernel line to use the BeanShellKernel.

Beanshell enabled, remotely accessible kernel

This is to-do.

by Paul Hammant