A
- VitamApplication final classC
- VitamApplicationConfiguration final classpublic abstract class AbstractVitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration> extends Object implements VitamApplication<A,C>
Modifier and Type | Field and Description |
---|---|
protected static String |
CONFIG_FILE_IS_A_MANDATORY_ARGUMENT |
Modifier | Constructor and Description |
---|---|
protected |
AbstractVitamApplication(Class<C> configurationType,
C configuration)
Protected constructor assigning application and configuration types
Usage example in sub-implementation : for Junit test
class MyApplication extends AbstractVitamApplication
|
protected |
AbstractVitamApplication(Class<C> configurationType,
String configurationFile)
Protected constructor assigning application and configuration types
Usage example in sub-implementation :
class MyApplication extends AbstractVitamApplication
|
Modifier and Type | Method and Description |
---|---|
protected org.eclipse.jetty.server.Handler |
buildAdminHandler()
This is (admin config) an other implementation of the method @see buildApplicationHandler The default
implementation is for business api
|
protected org.eclipse.jetty.server.Handler |
buildApplicationHandler()
Re Implement this method to construct your application specific handler if necessary.
|
protected void |
checkJerseyMetrics(org.glassfish.jersey.server.ResourceConfig resourceConfig) |
protected static void |
clearAndconfigureMetrics()
Clear the metrics map from any existing
VitamMetrics and reload the configuration from the
AbstractVitamApplication#METRICS_CONF_FILE_NAME |
protected void |
configure(String configurationFile)
From the configuration file, read the configuration, the Jetty Configuration and create the associate VitamServer
using Jetty, adding the applicationHandler from buildApplicationHandler
|
protected void |
configureVitamParameters()
To allow override on non Vitam platform such as IHM
|
org.eclipse.jetty.server.Handler |
getApplicationHandlers() |
static VitamMetricRegistry |
getBusinessMetricsRegistry()
Return the
VitamMetricRegistry of VitamMetricsType.BUSINESS type. |
String |
getConfigFilename()
Return the name as a string of your configuration file.
|
C |
getConfiguration() |
Class<C> |
getConfigurationType() |
boolean |
getServerStatus() |
protected int |
getSession() |
static VitamMetrics |
getVitamMetrics(VitamMetricsType type)
Return a
VitamMetrics object for a given VitamMetricsType or null if the VitamMetrics does not
exists. |
VitamServer |
getVitamServer()
retrieve the vitam server
|
protected abstract boolean |
registerInAdminConfig(org.glassfish.jersey.server.ResourceConfig resourceConfig)
This method must add the Application Admin resources and eventually registering specific Admin component
|
protected abstract void |
registerInResourceConfig(org.glassfish.jersey.server.ResourceConfig resourceConfig)
This method must add the Application resources and eventually registering specific component
|
protected void |
registerLifeCycleListener()
register LifeCycle Listener for jetty
|
void |
run()
Start the server as full daemon and blocking
|
void |
setConfiguration(C configuration)
Allow to override this method in Junit
|
protected void |
setFilter(org.eclipse.jetty.servlet.ServletContextHandler context,
boolean isAdminConnector)
To set extra filters
|
void |
start()
Start the server without blocking
|
void |
startMetrics()
Start the reporting of every metrics
|
void |
stop()
Stop the server
|
protected static final String CONFIG_FILE_IS_A_MANDATORY_ARGUMENT
protected AbstractVitamApplication(Class<C> configurationType, String configurationFile)
configurationType
- the configuration class typeconfigurationFile
- the configuration fileIllegalStateException
protected AbstractVitamApplication(Class<C> configurationType, C configuration)
configurationType
- the configuration class typeconfiguration
- the configuration objectIllegalStateException
public boolean getServerStatus()
protected final void configure(String configurationFile)
configurationFile
- IllegalStateException
protected void configureVitamParameters()
public final void startMetrics()
protected static final void clearAndconfigureMetrics()
VitamMetrics
and reload the configuration from the
AbstractVitamApplication#METRICS_CONF_FILE_NAME
protected void checkJerseyMetrics(org.glassfish.jersey.server.ResourceConfig resourceConfig)
protected abstract void registerInResourceConfig(org.glassfish.jersey.server.ResourceConfig resourceConfig)
resourceConfig
- the ResourceConfig to setupprotected abstract boolean registerInAdminConfig(org.glassfish.jersey.server.ResourceConfig resourceConfig)
resourceConfig
- the ResourceConfig to setupprotected int getSession()
protected void setFilter(org.eclipse.jetty.servlet.ServletContextHandler context, boolean isAdminConnector) throws VitamApplicationServerException
context
- the context on which to call context.addFilter (as many times as needed)isAdminConnector
- use to be able to add or not some specific filter or listener to the contextVitamApplicationServerException
protected org.eclipse.jetty.server.Handler buildApplicationHandler() throws VitamApplicationServerException
VitamApplicationServerException
protected org.eclipse.jetty.server.Handler buildAdminHandler() throws VitamApplicationServerException
VitamApplicationServerException
public String getConfigFilename()
VitamApplication
getConfigFilename
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public final C getConfiguration()
getConfiguration
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public void setConfiguration(C configuration)
VitamApplication
setConfiguration
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public final Class<C> getConfigurationType()
getConfigurationType
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public final org.eclipse.jetty.server.Handler getApplicationHandlers()
getApplicationHandlers
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public final VitamServer getVitamServer()
VitamApplicationInterface
getVitamServer
in interface VitamApplicationInterface<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
public final void run() throws VitamApplicationServerException
VitamApplication
run
in interface VitamApplication<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
VitamApplicationServerException
public final void start() throws VitamApplicationServerException
VitamApplicationInterface
start
in interface VitamApplicationInterface<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
VitamApplicationServerException
public final void stop() throws VitamApplicationServerException
VitamApplicationInterface
stop
in interface VitamApplicationInterface<A extends VitamApplication<A,C>,C extends VitamApplicationConfiguration>
VitamApplicationServerException
public static final VitamMetricRegistry getBusinessMetricsRegistry()
VitamMetricRegistry
of VitamMetricsType.BUSINESS
type. This
VitamMetricRegistry
can be used to register custom metrics wherever in the application.VitamMetrics
BUSINESS VitamMetricspublic static final VitamMetrics getVitamMetrics(VitamMetricsType type)
VitamMetrics
object for a given VitamMetricsType
or null if the VitamMetrics does not
exists.type
- VitamMetricsType
typeVitamMetrics
VitamMetricsprotected void registerLifeCycleListener()
Copyright © 2018 Vitam. All rights reserved.