org.qi4j.library.servlet.lifecycle
Class AbstractQi4jServletBootstrap
java.lang.Object
org.qi4j.library.servlet.lifecycle.AbstractQi4jServletBootstrap
- All Implemented Interfaces:
- java.util.EventListener, javax.servlet.ServletContextListener, ApplicationAssembler
public abstract class AbstractQi4jServletBootstrap
- extends java.lang.Object
- implements javax.servlet.ServletContextListener, ApplicationAssembler
Abstract ServletContextListener implementing ApplicationAssembler.
Extends this class to easily bind a Qi4j Application activation/passivation to your webapp lifecycle.
The Application
is set as a ServletContext
attribute named using a constant.
In your servlets, filters, whatever has access to the ServletContext
use the following code to get a
handle on the Application
:
org.qi4j.api.structure.Application application;
application = ( Application ) servletContext.getAttribute( Qi4jServletSupport.APP_IN_CTX );
// Or, shorter:
application = Qi4jServletSupport.application( servletContext );
Rembember that the servlet specification states:
In cases where the container is distributed over many virtual machines, a Web application will have an instance of
the ServletContext for each JVM.
Context attributes are local to the JVM in which they were created. This prevents ServletContext attributes from
being a shared memory store in a distributed container. When information needs to be shared between servlets running
in a distributed environment, the information should be placed into a session, stored in a database, or set in an
Enterprise JavaBeans component.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
api
protected Qi4j api
qi4j
protected Energy4Java qi4j
applicationModel
protected ApplicationDescriptor applicationModel
application
protected Application application
AbstractQi4jServletBootstrap
public AbstractQi4jServletBootstrap()
contextInitialized
public final void contextInitialized(javax.servlet.ServletContextEvent sce)
- Specified by:
contextInitialized
in interface javax.servlet.ServletContextListener
beforeApplicationActivation
protected void beforeApplicationActivation(Application app)
afterApplicationActivation
protected void afterApplicationActivation(Application app)
contextDestroyed
public final void contextDestroyed(javax.servlet.ServletContextEvent sce)
- Specified by:
contextDestroyed
in interface javax.servlet.ServletContextListener
beforeApplicationPassivation
protected void beforeApplicationPassivation(Application app)
afterApplicationPassivation
protected void afterApplicationPassivation(Application app)