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.HttpServlet
This 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.xml
file.<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.properties
for propertyshared.loader
the following$IGNITE_HOME/ignite.jar,$IGNITE_HOME/libs/*.jar
(replace$IGNITE_HOME
with 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.xml
file 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 void
destroy()
void
init()
String
toString()
-
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:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroy
in interfacejavax.servlet.Servlet
- Overrides:
destroy
in classjavax.servlet.GenericServlet
-
-