* the invocation has a JndiBinding annotation.
*/
public Object invoke(Invocation invocation) throws Throwable
{
MethodInvocation mi = (MethodInvocation) invocation;
KernelControllerContext context = (KernelControllerContext) mi.getArguments()[0];
boolean trace = log.isTraceEnabled();
JndiBinding bindingInfo = (JndiBinding) invocation.resolveClassAnnotation(JndiBinding.class);
if( trace )
log.trace("Checking method: "+mi.getMethod()+", bindingInfo: "+bindingInfo);
// If this is the setKernelControllerContext callback, bind the target into jndi
if ("setKernelControllerContext".equals(mi.getMethod().getName()) && bindingInfo != null)
{
InitialContext ctx = new InitialContext(env);
Object target = context.getTarget();
Util.bind(ctx, bindingInfo.name(), target);
if( trace )
log.trace("Bound to: "+bindingInfo.name());
String[] aliases = bindingInfo.aliases();
if( aliases != null )