Class AbstractService
java.lang.Object
eu.cloudnetservice.node.impl.service.defaults.AbstractService
- All Implemented Interfaces:
eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider, InternalCloudService, eu.cloudnetservice.node.service.CloudService
- Direct Known Subclasses:
JVMService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final InternalCloudServiceManagerprotected final eu.cloudnetservice.node.config.Configurationprotected final Stringprotected longprotected eu.cloudnetservice.driver.service.ServiceInfoSnapshotprotected final eu.cloudnetservice.driver.event.EventManagerprotected static final BiPredicate<String, Pattern> protected final eu.cloudnetservice.driver.language.I18nprotected static final Pathprotected final Collection<eu.cloudnetservice.driver.service.ServiceDeployment> protected final Collection<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> protected final Collection<eu.cloudnetservice.driver.service.ServiceTemplate> protected eu.cloudnetservice.driver.service.ServiceInfoSnapshotprotected final Lockprotected final eu.cloudnetservice.node.service.ServiceConsoleLogCacheprotected static final org.slf4j.Loggerprotected final DefaultTickLoopprotected eu.cloudnetservice.driver.network.NetworkChannelprotected final Pathprotected final eu.cloudnetservice.driver.service.ServiceConfigurationprotected final eu.cloudnetservice.node.service.ServiceConfigurationPreparerprotected final Pathprotected final ServiceVersionProviderprotected final Queue<eu.cloudnetservice.driver.service.ServiceDeployment> protected final Queue<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> protected final Queue<eu.cloudnetservice.driver.service.ServiceTemplate> protected static final Path -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractService(@NonNull eu.cloudnetservice.driver.language.I18n i18n, @NonNull DefaultTickLoop tickLoop, @NonNull eu.cloudnetservice.node.config.Configuration nodeConfig, @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration, @NonNull InternalCloudServiceManager manager, @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull eu.cloudnetservice.node.service.ServiceConsoleLogCache logCache, @NonNull ServiceVersionProvider versionProvider, @NonNull eu.cloudnetservice.node.service.ServiceConfigurationPreparer serviceConfigurationPreparer) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddServiceDeployment(@NonNull eu.cloudnetservice.driver.service.ServiceDeployment serviceDeployment) addServiceDeploymentAsync(@NonNull eu.cloudnetservice.driver.service.ServiceDeployment serviceDeployment) voidaddServiceRemoteInclusion(@NonNull eu.cloudnetservice.driver.service.ServiceRemoteInclusion serviceRemoteInclusion) addServiceRemoteInclusionAsync(@NonNull eu.cloudnetservice.driver.service.ServiceRemoteInclusion serviceRemoteInclusion) voidaddServiceTemplate(@NonNull eu.cloudnetservice.driver.service.ServiceTemplate serviceTemplate) addServiceTemplateAsync(@NonNull eu.cloudnetservice.driver.service.ServiceTemplate serviceTemplate) protected boolean@NonNull eu.cloudnetservice.node.service.CloudServiceManagervoidvoiddeployResources(boolean removeDeployments) deployResourcesAsync(boolean removeDeployments) protected voiddoDelete()protected voidprotected voiddownloadInclusionFile(@NonNull eu.cloudnetservice.driver.service.ServiceRemoteInclusion inclusion, @NonNull Path destination) protected voidexecuteDeployment(@NonNull eu.cloudnetservice.driver.service.ServiceDeployment deployment) @Nullable eu.cloudnetservice.driver.service.ServiceInfoSnapshot@NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> voidvoidvoidvoidincludeWaitingServiceTemplates(boolean force) includeWaitingServiceTemplatesAsync(boolean force) protected void@NonNull Collection<eu.cloudnetservice.driver.service.ServiceDeployment> @NonNull Collection<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> @NonNull Collection<eu.cloudnetservice.driver.service.ServiceTemplate> @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle@Nullable eu.cloudnetservice.driver.network.NetworkChannelvoidnetworkChannel(@Nullable eu.cloudnetservice.driver.network.NetworkChannel channel) protected booleanpreLifecycleChange(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle targetLifecycle) protected voidprotected @NonNull eu.cloudnetservice.driver.document.DocumentprepareSslConfiguration(@NonNull eu.cloudnetservice.driver.network.ssl.SSLConfiguration configuration) voidprotected voidpushServiceInfoSnapshotUpdate(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle) protected voidpushServiceInfoSnapshotUpdate(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle, boolean sendUpdate) protected voidpushServiceInfoSnapshotUpdate(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle, @Nullable eu.cloudnetservice.driver.document.Document properties, boolean sendUpdate) relativizePath(@NonNull Path input) resolveServicePath(@NonNull eu.cloudnetservice.driver.service.ServiceId serviceId, @NonNull eu.cloudnetservice.node.service.CloudServiceManager manager, boolean staticService) voidrestart()runCommandAsync(@NonNull String command) protected @NonNull eu.cloudnetservice.driver.network.HostAndPortselectConnectListener(@NonNull List<eu.cloudnetservice.driver.network.HostAndPort> listeners) @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration@NonNull eu.cloudnetservice.node.service.ServiceConsoleLogCache@NonNull eu.cloudnetservice.driver.service.ServiceId@NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot@NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> protected abstract voidprotected abstract voidbooleantoggleScreenEvents(@NonNull eu.cloudnetservice.driver.channel.ChannelMessageSender channelMessageSender, @NonNull String channel) toggleScreenEventsAsync(@NonNull eu.cloudnetservice.driver.channel.ChannelMessageSender sender, @NonNull String channel) voidupdateLifecycle(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle) protected voidupdateLifecycle(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle, boolean switchToDeletedOnStop) updateLifecycleAsync(@NonNull eu.cloudnetservice.driver.service.ServiceLifeCycle lifeCycle) voidupdateProperties(@NonNull eu.cloudnetservice.driver.document.Document properties) updatePropertiesAsync(@NonNull eu.cloudnetservice.driver.document.Document properties) voidupdateServiceInfoSnapshot(@NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot serviceInfoSnapshot) booleanvalid()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.cloudnetservice.node.service.CloudService
alive, runtimeMethods inherited from interface eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
delete, deleteAsync, removeAndExecuteDeployments, runCommand, start, startAsync, stop, stopAsync
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
INCLUSION_TEMP_DIR
-
WRAPPER_CONFIG_PATH
-
FILE_MATCHER_PREDICATE
-
connectionKey
-
pluginDirectory
-
serviceDirectory
-
i18n
protected final eu.cloudnetservice.driver.language.I18n i18n -
mainThread
-
eventManager
protected final eu.cloudnetservice.driver.event.EventManager eventManager -
configuration
protected final eu.cloudnetservice.node.config.Configuration configuration -
logCache
protected final eu.cloudnetservice.node.service.ServiceConsoleLogCache logCache -
cloudServiceManager
-
serviceConfiguration
protected final eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration -
serviceVersionProvider
-
serviceConfigurationPreparer
protected final eu.cloudnetservice.node.service.ServiceConfigurationPreparer serviceConfigurationPreparer -
lifecycleLock
-
logTargets
-
waitingTemplates
-
waitingDeployments
-
waitingRemoteInclusions
protected final Queue<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> waitingRemoteInclusions -
installedTemplates
-
installedInclusions
protected final Collection<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> installedInclusions -
installedDeployments
protected final Collection<eu.cloudnetservice.driver.service.ServiceDeployment> installedDeployments -
networkChannel
protected volatile eu.cloudnetservice.driver.network.NetworkChannel networkChannel -
connectionTimestamp
protected volatile long connectionTimestamp -
lastServiceInfo
protected volatile eu.cloudnetservice.driver.service.ServiceInfoSnapshot lastServiceInfo -
currentServiceInfo
protected volatile eu.cloudnetservice.driver.service.ServiceInfoSnapshot currentServiceInfo
-
-
Constructor Details
-
AbstractService
protected AbstractService(@NonNull @NonNull eu.cloudnetservice.driver.language.I18n i18n, @NonNull @NonNull DefaultTickLoop tickLoop, @NonNull @NonNull eu.cloudnetservice.node.config.Configuration nodeConfig, @NonNull @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration, @NonNull @NonNull InternalCloudServiceManager manager, @NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.node.service.ServiceConsoleLogCache logCache, @NonNull @NonNull ServiceVersionProvider versionProvider, @NonNull @NonNull eu.cloudnetservice.node.service.ServiceConfigurationPreparer serviceConfigurationPreparer)
-
-
Method Details
-
resolveServicePath
-
serviceInfo
-
valid
public boolean valid()- Specified by:
validin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
forceUpdateServiceInfo
-
addServiceTemplate
-
addServiceRemoteInclusion
-
addServiceDeployment
-
serviceConsoleLogCache
-
deleteFiles
public void deleteFiles()- Specified by:
deleteFilesin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
updateLifecycle
-
serviceInfoAsync
@NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> serviceInfoAsync()- Specified by:
serviceInfoAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
validAsync
- Specified by:
validAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
forceUpdateServiceInfoAsync
@NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> forceUpdateServiceInfoAsync()- Specified by:
forceUpdateServiceInfoAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
addServiceTemplateAsync
-
addServiceRemoteInclusionAsync
@NonNull public @NonNull CompletableFuture<Void> addServiceRemoteInclusionAsync(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceRemoteInclusion serviceRemoteInclusion) - Specified by:
addServiceRemoteInclusionAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
addServiceDeploymentAsync
-
cachedLogMessagesAsync
- Specified by:
cachedLogMessagesAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
toggleScreenEventsAsync
@NonNull public @NonNull CompletableFuture<Boolean> toggleScreenEventsAsync(@NonNull @NonNull eu.cloudnetservice.driver.channel.ChannelMessageSender sender, @NonNull @NonNull String channel) - Specified by:
toggleScreenEventsAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
restartAsync
- Specified by:
restartAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
updateLifecycleAsync
-
deleteFilesAsync
- Specified by:
deleteFilesAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
runCommandAsync
-
includeWaitingServiceTemplatesAsync
- Specified by:
includeWaitingServiceTemplatesAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
includeWaitingServiceTemplatesAsync
- Specified by:
includeWaitingServiceTemplatesAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
includeWaitingServiceInclusionsAsync
- Specified by:
includeWaitingServiceInclusionsAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
deployResourcesAsync
- Specified by:
deployResourcesAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
removeAndExecuteDeploymentsAsync
- Specified by:
removeAndExecuteDeploymentsAsyncin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
updatePropertiesAsync
-
updateLifecycle
-
restart
public void restart()- Specified by:
restartin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
installedTemplates
@NonNull public @NonNull Collection<eu.cloudnetservice.driver.service.ServiceTemplate> installedTemplates()- Specified by:
installedTemplatesin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
installedInclusions
@NonNull public @NonNull Collection<eu.cloudnetservice.driver.service.ServiceRemoteInclusion> installedInclusions()- Specified by:
installedInclusionsin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
installedDeployments
@NonNull public @NonNull Collection<eu.cloudnetservice.driver.service.ServiceDeployment> installedDeployments()- Specified by:
installedDeploymentsin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
includeWaitingServiceTemplates
public void includeWaitingServiceTemplates()- Specified by:
includeWaitingServiceTemplatesin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
includeWaitingServiceTemplates
public void includeWaitingServiceTemplates(boolean force) - Specified by:
includeWaitingServiceTemplatesin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
includeWaitingServiceInclusions
public void includeWaitingServiceInclusions()- Specified by:
includeWaitingServiceInclusionsin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
deployResources
public void deployResources(boolean removeDeployments) - Specified by:
deployResourcesin interfaceeu.cloudnetservice.driver.provider.SpecificCloudServiceProvider
-
updateProperties
-
doDelete
protected void doDelete() -
waitingIncludes
-
waitingTemplates
-
waitingDeployments
-
lifeCycle
-
cloudServiceManager
-
serviceConfiguration
-
serviceId
-
connectionKey
-
directory
-
pluginDirectory
-
networkChannel
-
networkChannel
public void networkChannel(@Nullable @Nullable eu.cloudnetservice.driver.network.NetworkChannel channel) - Specified by:
networkChannelin interfaceInternalCloudService
-
lastServiceInfoSnapshot
-
publishServiceInfoSnapshot
public void publishServiceInfoSnapshot()- Specified by:
publishServiceInfoSnapshotin interfaceeu.cloudnetservice.node.service.CloudService
-
handleServiceRegister
public void handleServiceRegister()- Specified by:
handleServiceRegisterin interfaceInternalCloudService
-
updateServiceInfoSnapshot
public void updateServiceInfoSnapshot(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot serviceInfoSnapshot) - Specified by:
updateServiceInfoSnapshotin interfaceInternalCloudService
-
cachedLogMessages
-
toggleScreenEvents
-
executeDeployment
-
relativizePath
-
doRemoveFilesAfterStop
protected void doRemoveFilesAfterStop() -
preLifecycleChange
-
pushServiceInfoSnapshotUpdate
-
pushServiceInfoSnapshotUpdate
-
pushServiceInfoSnapshotUpdate
-
canStartNow
protected boolean canStartNow() -
prepareService
protected void prepareService() -
selectConnectListener
-
prepareSslConfiguration
-
downloadInclusionFile
-
serviceReplacement
-
initStandardServiceLogHandler
protected void initStandardServiceLogHandler() -
startProcess
protected abstract void startProcess() -
stopProcess
protected abstract void stopProcess()
-