public interface DevAppServer
DevAppServer
launches a local Jetty server (by default) with a single
hosted web application. It can be invoked from the command-line by
providing the path to the directory in which the application resides as the
only argument.
Over time, the environment provided by this class should come to
resemble the environment provided to hosted applications in
production. For example, stub applications of all of the API's
should be provided, and similar security restrictions should be
enforced.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_HTTP_ADDRESS
DevAppServer listens on this network address for incoming
HTTP requests. |
static int |
DEFAULT_HTTP_PORT
DevAppServer listens on this port for incoming HTTP
requests. |
Modifier and Type | Method and Description |
---|---|
com.google.appengine.tools.development.AppContext |
getAppContext()
Returns the
AppContext for the main container. |
com.google.appengine.tools.development.AppContext |
getCurrentAppContext()
Returns the
AppContext corresponding to the HTTP request (or
background thread) associated with the current thread, or null if
the current thread is not associated with any HTTP request (or background
thread). |
int |
getPort() |
java.util.Map<java.lang.String,java.lang.String> |
getServiceProperties()
Get the properties that are used by the local services to
configure themselves.
|
void |
gracefulShutdown()
Shut down the server after all outstanding requests have completed.
|
java.util.concurrent.CountDownLatch |
restart()
Restart the server to reload disk and class changes.
|
void |
setServiceProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Sets the properties that will be used by the local services to
configure themselves.
|
void |
setThrowOnEnvironmentVariableMismatch(boolean throwOnMismatch)
Reset the container EnvironmentVariableMismatchSeverity.
|
void |
shutdown()
Shut down the server.
|
java.util.concurrent.CountDownLatch |
start()
Starts the server.
|
static final java.lang.String DEFAULT_HTTP_ADDRESS
DevAppServer
listens on this network address for incoming
HTTP requests. This can be overriden with --address=<addr>
.static final int DEFAULT_HTTP_PORT
DevAppServer
listens on this port for incoming HTTP
requests. This can be overriden with --port=NNNN
.void setServiceProperties(java.util.Map<java.lang.String,java.lang.String> properties)
properties
- a, maybe null
, set of properties.java.lang.IllegalStateException
- if the server has already been started.java.util.Map<java.lang.String,java.lang.String> getServiceProperties()
java.util.concurrent.CountDownLatch start() throws java.lang.Exception
java.lang.IllegalStateException
- If the server has already been started or
shutdown.com.google.apphosting.utils.config.AppEngineConfigException
- If no WEB-INF directory can be found or WEB-INF/appengine-web.xml does
not exist.java.lang.Exception
java.util.concurrent.CountDownLatch restart() throws java.lang.Exception
java.lang.IllegalStateException
- If the server has not been started or has
already been shutdown.java.lang.Exception
void shutdown() throws java.lang.Exception
java.lang.IllegalStateException
- If the server has not been started or has
already been shutdown.java.lang.Exception
void gracefulShutdown()
int getPort()
com.google.appengine.tools.development.AppContext getAppContext()
AppContext
for the main container. Useful in embedding
scenarios to allow the embedder to install servlets, etc. Any such
modification should be done before calling start()
.ContainerService.getAppContext()
com.google.appengine.tools.development.AppContext getCurrentAppContext()
AppContext
corresponding to the HTTP request (or
background thread) associated with the current thread, or null
if
the current thread is not associated with any HTTP request (or background
thread).void setThrowOnEnvironmentVariableMismatch(boolean throwOnMismatch)