Loading Component Manager.

4 11 2007

I’ve been having a look at the loadup of the component manager. At the moment we do it as a side effect of the first webapp to load. This is Ok, but it doesnt really tie into the life cycle of the container and feels wrong. We have seen some problems in the past due to startup order, which the Component Manager should not be subject to.

So https://source.sakaiproject.org/contrib/tfd/trunk/lifecycleloader is a loader that brings the component manager up by hooking into the lifecycle of the tomcat container. This makes it possible to get grater control over the classloader structure and better isolation. It just needs a single line in server.xml to register the listener.

It also opens more possibilities to have a non static component manager registration as we now have full access to JMX and JNDI within the server, so we could lookup the component manager from the container.



2 responses

5 11 2007
Jason Shao

Getting away from webapp order loading sounds great. Any thoughts on cross-container implications of hooking into Tomcat’s login process?

5 11 2007
Ian Boston

I am concerned about how the loader binds to the container, but I think that nearly all contianers have a lifecycle which you can hook into since they all have configuration outside the J2EE spec. I agree this is a risk and we need to check that we are not going to end up with a strategy for the component loader that cant be supported in the major webapp containers.

%d bloggers like this: