Package net.i2p.router.web
Class WebAppStarter
java.lang.Object
net.i2p.router.web.WebAppStarter
Add, start or stop a webapp.
Add to the webapp classpath if specified in webapps.config.
Sadly, setting Class-Path in MANIFEST.MF doesn't work for jetty wars.
See WebAppConfiguration for more information.
but let's just do it in webapps.config.
No, wac.addClassPath() does not work. For more info see:
http://servlets.com/archive/servlet/ReadMsg?msgId=511113&listName=jetty-support
- Since:
- 0.7.12
- Author:
- zzz
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription(package private) static WebAppContext
addWebApp
(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath, File tmpdir) add but don't start This is used only by RouterConsoleRunner, which adds all the webapps first and then starts all at once.static ContextHandlerCollection
See comments in ConfigClientsHandler Warning, this will NOT work during shutdown, because the console is already unregistered.(package private) static ContextHandler
getWebApp
(I2PAppContext ctx, String appName) Warning, this will NOT work during shutdown, because the console is already unregistered.(package private) static ContextHandler
static boolean
isWebAppRunning
(I2PAppContext ctx, String appName) As of 0.9.34, the appName will be registered with the PortMapper, and PortMapper.isRegistered() will be more efficient than this.(package private) static boolean
isWebAppRunning
(Server s, String appName) (package private) static void
setWebAppConfiguration
(WebAppContext wac, boolean scanAnnotations) static void
startWebApp
(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath) Adds and starts.static void
startWebApp
(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath, String pluginName) Adds and starts.static void
stopWebApp
(RouterContext ctx, String appName) Stop it and remove the context.(package private) static void
stopWebApp
(RouterContext ctx, Server s, String appName) Stop it and remove the context.
-
Field Details
-
INIT_PARAMS
-
PARAM_PLUGIN_NAME
- See Also:
-
-
Constructor Details
-
WebAppStarter
public WebAppStarter()
-
-
Method Details
-
startWebApp
public static void startWebApp(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath) throws Exception Adds and starts. Prior to 0.9.28, was not guaranteed to throw on failure. Not for routerconsole.war, it's started in RouterConsoleRunner. Not for plugins, use 5-arg method. As of 0.9.34, the appName will be registered with the PortMapper.- Throws:
Exception
- just about anything, caller would be wise to catch Throwable- Since:
- public since 0.9.33, was package private
-
startWebApp
public static void startWebApp(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath, String pluginName) throws Exception Adds and starts. Not for routerconsole.war, it's started in RouterConsoleRunner. The appName will be registered with the PortMapper.- Parameters:
pluginName
- may be null, will look for console/webapps.config in that plugin- Throws:
Exception
- just about anything, caller would be wise to catch Throwable- Since:
- 0.9.53 added pluginName param
-
addWebApp
static WebAppContext addWebApp(RouterContext ctx, ContextHandlerCollection server, String appName, String warPath, File tmpdir) throws IOException add but don't start This is used only by RouterConsoleRunner, which adds all the webapps first and then starts all at once.- Throws:
IOException
-
setWebAppConfiguration
- Parameters:
scanAnnotations
- Should we check for Servlet 3.0 annotations? The war MUST be set to extract (due to Jetty bug), and annotation classes MUST be available- Since:
- Jetty 9
-
stopWebApp
Stop it and remove the context. Throws just about anything, caller would be wise to catch Throwable Warning, this will NOT work during shutdown, because the console is already unregistered.- Since:
- public since 0.9.33, was package private
-
stopWebApp
Stop it and remove the context. Throws just about anything, caller would be wise to catch Throwable- Since:
- 0.9.41
-
isWebAppRunning
As of 0.9.34, the appName will be registered with the PortMapper, and PortMapper.isRegistered() will be more efficient than this. Warning, this will NOT work during shutdown, because the console is already unregistered.- Since:
- public since 0.9.33; was package private
-
isWebAppRunning
- Since:
- 0.9.41
-
getWebApp
Warning, this will NOT work during shutdown, because the console is already unregistered.- Since:
- Jetty 6
-
getWebApp
- Since:
- 0.9.41
-
getConsoleServer
See comments in ConfigClientsHandler Warning, this will NOT work during shutdown, because the console is already unregistered.- Since:
- public since 0.9.33, was package private
-