On IRC, Ant and I came up with the following plan for moving the runtime classes off the webapp classpath.

We are going to have a TuscanyContextListener that will:
1) create a classloader containing the content of a directory specified as a "tuscany.bootDir" context param
   this will default to WEB-INF/tuscany/boot
2) load a WebappLauncher from that classloader (classname overridable as a context param) which will implement ServletContextListener
3) forward the contextStart event to it

For now the WebappLauncher implementation will live in core just like MainLauncher does. At some point it will move to a new module "webapp- host". We think this pattern of two modules (one on the app classpath, one on the boot classpath) will be typical for hosts

The WebappLauncher will locate a service in the runtime that implements a ServletRequestInjector interface (defined in the webapp module). The implementation of this will be bound into the servlet context. The TuscanyServlet will retrieve this implementation from the context during init and forward all requests to it.

--
Jeremy


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to