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]