Class AbstractConfigurableService
- java.lang.Object
-
- de.aristaflow.adept2.base.service.AbstractADEPT2Service
-
- de.aristaflow.adept2.base.service.AbstractConfigurableService
-
- All Implemented Interfaces:
ADEPT2Service
,ConfigurableService
,LogService
,ServiceThreadHandling
public abstract class AbstractConfigurableService extends AbstractADEPT2Service implements ConfigurableService
This class provides the configuration of a service and returns it. However, subclasses need to implement which of its keys may be changed by a specific user (ConfigurableService.getChangeableConfigurationKeys(SessionToken)
) and setting the configuration values since both depends on the semantic of the configuration keys.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.aristaflow.adept2.base.service.AbstractADEPT2Service
AbstractADEPT2Service.ActiveSessions
-
-
Field Summary
Fields Modifier and Type Field Description static int
CFG_RETRY_MAX
The maximum of retries for getConfiguration.-
Fields inherited from class de.aristaflow.adept2.base.service.AbstractADEPT2Service
CONF_CSV_LOGGING, configuration, logger, registry, runtimeRequiredServices, startupRequiredServices
-
Fields inherited from interface de.aristaflow.adept2.base.service.ConfigurableService
CONF_RUNTIME_CONF_PREFIX
-
-
Constructor Summary
Constructors Constructor Description AbstractConfigurableService(org.apache.commons.configuration2.Configuration configuration, Registry registry, Class<?> cls)
Creates a configurable service with the designated configuration, the designated registry, a logger for this and assuming that there are no other services required.AbstractConfigurableService(org.apache.commons.configuration2.Configuration configuration, Registry registry, String[] startupRequiredServices, String[] runtimeRequiredServices, Class<?> cls)
Creates a configurable service with the designated configuration, the designated registry, a logger for this and the designated required services.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.commons.configuration2.Configuration
getConfiguration(SessionToken session)
Gets the configuration of this service for displaying it.-
Methods inherited from class de.aristaflow.adept2.base.service.AbstractADEPT2Service
_sessionActive, _sessionFinished, activeOrInvalidServiceStateException, changeLogContext, changeLogContext, changeLogContext, consoleLog, csvLoggingEnabled, getClassSpecificJulLogger, getDependencyRegistry, getLocalUris, getLogger, getRelease, getRuntimeRequiredServices, getServiceInstanceName, getStartupRequiredServices, getURIs, getUserCredentials, init, isActive, isSessionActive, isShutdown, logMethodEntry, logMethodEntry, logMethodEntry, logMethodExit, logMethodExit, ping, preShutdown, privilegeSession, privilegeThread, revertLogContextChanges, sessionActive, sessionActive, sessionActive, sessionActive, sessionFinished, sessionFinished, shutdown, signalShutdown, signalStart, start, unprivilegeThread
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.aristaflow.adept2.base.service.ADEPT2Service
getLocalUris, getRelease, getRuntimeRequiredServices, getServiceInstanceName, getStartupRequiredServices, getURIs, init, ping, preShutdown, shutdown, start
-
Methods inherited from interface de.aristaflow.adept2.base.service.ConfigurableService
getChangeableConfigurationKeys, getConfigurationValue, setConfigurationValue
-
-
-
-
Field Detail
-
CFG_RETRY_MAX
public static final int CFG_RETRY_MAX
The maximum of retries for getConfiguration.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractConfigurableService
public AbstractConfigurableService(org.apache.commons.configuration2.Configuration configuration, Registry registry, Class<?> cls)
Creates a configurable service with the designated configuration, the designated registry, a logger for this and assuming that there are no other services required.- Parameters:
configuration
- The configuration of this service that can be changed (at least parts of it) at runtime.registry
- The registry to be used for accessing services by this service. This is provided as parameter to the constructor when creating a service.cls
- The class specifying the name of the logger of this service.
-
AbstractConfigurableService
public AbstractConfigurableService(org.apache.commons.configuration2.Configuration configuration, Registry registry, String[] startupRequiredServices, String[] runtimeRequiredServices, Class<?> cls)
Creates a configurable service with the designated configuration, the designated registry, a logger for this and the designated required services.- Parameters:
configuration
- The configuration of this service that can be changed (at least parts of it) at runtime.registry
- The registry to be used for accessing services by this service. This is provided as parameter to the constructor when creating a service.startupRequiredServices
- The service type names of services required at startup time (inAbstractADEPT2Service.init(java.net.URI[], java.net.URI[])
andAbstractADEPT2Service.start()
).runtimeRequiredServices
- The service type names of services required at runtime (after startup time).cls
- The class specifying the name of the logger of this service.
-
-
Method Detail
-
getConfiguration
public org.apache.commons.configuration2.Configuration getConfiguration(SessionToken session)
Description copied from interface:ConfigurableService
Gets the configuration of this service for displaying it. It usually contains all configuration values of a service. Not all of them may be changed and not all of them by all users! Therefore filter the configuration appropriately based on the changeable keys. The returned configuration must not be changed directly since it usually is a copy of the configuration. UseConfigurableService.setConfigurationValue(SessionToken, String, String)
for changing configuration values.Note to implementors: As stated above return a copy of the configuration and not the configuration itself. Additionally make sure the returned configuration is serialisable since it may be transfered to a remote machine.
- Specified by:
getConfiguration
in interfaceConfigurableService
- Parameters:
session
- The session which is used to check for access rights on this method.- Returns:
- The configuration of the service. Some of its values may be changed.
-
-