# Class ApplicationRunner

java.lang.Object
org.eclipse.rap.rwt.application.ApplicationRunner

public class ApplicationRunner extends Object
An `ApplicationRunner` is used to start an RWT application with the given `ApplicationConfiguration` in the given `ServletContext`.

In most cases, application developers don't have to use this class directly. Instead of this, the class `RWTServletContextListener` can be registered as a listener in the deployment descriptor (web.xml). In this case, the `ApplicationConfiguration` defined in the init-parameter `org.eclipse.rap.applicationConfiguration` will be started by the framework.

When a custom `ServletContextListener` is used, the `ApplicationRunner` is usually constructed and started in the `contextInitialized()` method and stopped in the `contextDestroyed()` method.

Since:
  2.0
See Also:
  - `ApplicationConfiguration`
  - `RWTServletContextListener`
  - invalid reference

        jakarta.servlet.ServletContext

  - invalid reference

        jakarta.servlet.ServletContextListener

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`RESOURCES`

## Constructor Summary

Constructors
Constructor
Description
`ApplicationRunner(ApplicationConfiguration configuration, ServletContext servletContext)`
Constructs a new instance of this class given an application configuration and the servlet context it is bound to.

## Method Summary

Modifier and Type
Method
Description
`ApplicationContext`
`getApplicationContext()`
Returns the `ApplicationContext` of the running application that is controlled by this application runner.
`void`
`start()`
Starts the application if it is not running.
`void`
`stop()`
Stops the application if it is running.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### RESOURCES

public static final String RESOURCES

## Constructor Details

### ApplicationRunner

public ApplicationRunner(ApplicationConfiguration configuration, ServletContext servletContext)
Constructs a new instance of this class given an application configuration and the servlet context it is bound to.

Parameters:
  `configuration` - the configuration for the application to start. Must not be `null`.
  `servletContext` - the servlet context this application is bound to. Must not be `null`.
Since:
  4.0

## Method Details

### start

public void start()
Starts the application if it is not running. If the application is already running, this method does nothing.

### stop

public void stop()
Stops the application if it is running. If the application is not running, this method does nothing.

### getApplicationContext

public ApplicationContext getApplicationContext()
Returns the `ApplicationContext` of the running application that is controlled by this application runner. If the application is not running, this method will return `null`.

Returns:
  the `ApplicationContext` of the running application or `null` if the application is not running
Since:
  3.0