Class ServletStartup
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.apache.ignite.startup.servlet.ServletStartup
-
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
public class ServletStartup extends javax.servlet.http.HttpServletThis class defines servlet-based Ignite startup. This startup can be used to start Ignite inside any web container as servlet.This startup must be defined in
web.xmlfile.<servlet> <servlet-name>Ignite</servlet-name> <servlet-class>org.apache.ignite.startup.servlet.ServletStartup</servlet-class> <init-param> <param-name>cfgFilePath</param-name> <param-value>config/default-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>Servlet-based startup may be used in any web container like Tomcat, Jetty and etc. Depending on the way this startup is deployed the Ignite instance can be accessed by either all web applications or by only one. See web container class loading architecture:
- http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
- http://docs.codehaus.org/display/JETTY/Classloading
Tomcat
There are two ways to start Ignite on Tomcat.- Ignite started when web container starts and Ignite instance is accessible only to all web applications.
- Add Ignite libraries in Tomcat common loader.
Add in file
$TOMCAT_HOME/conf/catalina.propertiesfor propertyshared.loaderthe following$IGNITE_HOME/ignite.jar,$IGNITE_HOME/libs/*.jar(replace$IGNITE_HOMEwith absolute path). - Configure startup in
$TOMCAT_HOME/conf/web.xml<servlet> <servlet-name>Ignite</servlet-name> <servlet-class>org.apache.ignite.startup.servlet.ServletStartup</servlet-class> <init-param> <param-name>cfgFilePath</param-name> <param-value>config/default-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
- Add Ignite libraries in Tomcat common loader.
Add in file
-
Ignite started from WAR-file and Ignite instance is accessible only to that web application.
Difference with approach described above is that
web.xmlfile and all libraries should be added in WAR file without changes in Tomcat configuration files.
Jetty
Below is Java code example with Jetty API:Server service = new Server(); service.addListener("localhost:8090"); ServletHttpContext ctx = (ServletHttpContext)service.getContext("/"); ServletHolder servlet = ctx.addServlet("Ignite", "/IgniteStartup", "org.apache.ignite.startup.servlet.ServletStartup"); servlet.setInitParameter("cfgFilePath", "config/default-config.xml"); servlet.setInitOrder(1); servlet.start(); service.start();- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ServletStartup()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()voidinit()StringtoString()-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
-
-
-
-
Method Detail
-
init
public void init() throws javax.servlet.ServletException- Overrides:
initin classjavax.servlet.GenericServlet- Throws:
javax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroyin interfacejavax.servlet.Servlet- Overrides:
destroyin classjavax.servlet.GenericServlet
-
-