Class DefaultCloudService
- java.lang.Object
-
- de.dytanic.cloudnet.service.defaults.DefaultEmptyCloudService
-
- de.dytanic.cloudnet.service.defaults.DefaultCloudService
-
- All Implemented Interfaces:
ICloudService
- Direct Known Subclasses:
DefaultTemplateCloudService
public abstract class DefaultCloudService extends DefaultEmptyCloudService
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanfirstStartupOnStaticServiceprotected java.util.concurrent.locks.LocklifeCycleLockprotected static longSERVICE_ERROR_RESTART_DELAYprotected static charTEMP_NAME_SPLITTER-
Fields inherited from class de.dytanic.cloudnet.service.defaults.DefaultEmptyCloudService
cloudServiceManager, handler, lastServiceInfoSnapshot, lifeCycle, serviceConfiguration, serviceInfoSnapshot
-
-
Constructor Summary
Constructors Constructor Description DefaultCloudService(@NotNull java.lang.String runtime, @NotNull ICloudServiceManager cloudServiceManager, @NotNull de.dytanic.cloudnet.driver.service.ServiceConfiguration serviceConfiguration, @NotNull CloudServiceHandler handler)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleancheckEnoughResources()protected de.dytanic.cloudnet.driver.service.ServiceInfoSnapshotcreateServiceInfoSnapshot(de.dytanic.cloudnet.driver.service.ServiceLifeCycle lifeCycle)protected voiddeleteFiles(boolean sendUpdate)de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot>forceUpdateServiceInfoSnapshotAsync()@NotNull java.io.FilegetDirectory()@NotNull java.nio.file.PathgetDirectoryPath()voidinit()protected voidinitAndPrepareService()protected voidinvokeStart()intkill()protected voidpostDelete(boolean sendUpdate)protected voidpostPrepare()protected voidpostPrepareStart()protected voidpostStart()protected voidpostStop(int exitValue)protected booleanpreDelete()protected voidprepareStart()protected booleanprePrepare()protected booleanprePrepareStart()protected voidpreStart()protected booleanpreStop()protected abstract intshutdownNow(boolean force)voidstart()protected voidstartNow()protected abstract voidstartProcess()intstop()voidupdateServiceInfoSnapshot(@NotNull de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot serviceInfoSnapshot)protected abstract voidwriteConfiguration()-
Methods inherited from class de.dytanic.cloudnet.service.defaults.DefaultEmptyCloudService
getCloudServiceManager, getConfiguredMaxHeapMemory, getConnectionKey, getGroups, getJavaCommand, getLastServiceInfoSnapshot, getLifeCycle, getNetworkChannel, getRuntime, getServiceConfiguration, getServiceId, getServiceInfoSnapshot, setNetworkChannel, setServiceInfoSnapshot
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.dytanic.cloudnet.service.ICloudService
addDeployment, delete, delete, deployResources, deployResources, getDeployments, getIncludes, getProcess, getServiceConsoleLogCache, getTemplates, getWaitingIncludes, getWaitingTemplates, includeInclusions, includeTemplates, isAlive, offerInclusion, offerTemplate, restart, runCommand
-
-
-
-
Field Detail
-
TEMP_NAME_SPLITTER
protected static final char TEMP_NAME_SPLITTER
- See Also:
- Constant Field Values
-
SERVICE_ERROR_RESTART_DELAY
protected static final long SERVICE_ERROR_RESTART_DELAY
- See Also:
- Constant Field Values
-
lifeCycleLock
protected final java.util.concurrent.locks.Lock lifeCycleLock
-
firstStartupOnStaticService
protected boolean firstStartupOnStaticService
-
-
Constructor Detail
-
DefaultCloudService
public DefaultCloudService(@NotNull @NotNull java.lang.String runtime, @NotNull @NotNull ICloudServiceManager cloudServiceManager, @NotNull @NotNull de.dytanic.cloudnet.driver.service.ServiceConfiguration serviceConfiguration, @NotNull @NotNull CloudServiceHandler handler)
-
-
Method Detail
-
getDirectory
@NotNull public @NotNull java.io.File getDirectory()
-
getDirectoryPath
@NotNull public @NotNull java.nio.file.Path getDirectoryPath()
-
init
@Internal public void init()
-
initAndPrepareService
protected void initAndPrepareService()
-
checkEnoughResources
protected boolean checkEnoughResources()
-
createServiceInfoSnapshot
protected de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot createServiceInfoSnapshot(de.dytanic.cloudnet.driver.service.ServiceLifeCycle lifeCycle)
-
forceUpdateServiceInfoSnapshotAsync
public de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot> forceUpdateServiceInfoSnapshotAsync()
-
updateServiceInfoSnapshot
public void updateServiceInfoSnapshot(@NotNull @NotNull de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot serviceInfoSnapshot)
-
stop
public int stop()
-
kill
public int kill()
-
start
public void start() throws java.lang.Exception- Throws:
java.lang.Exception
-
shutdownNow
protected abstract int shutdownNow(boolean force)
-
startProcess
protected abstract void startProcess() throws java.lang.Exception- Throws:
java.lang.Exception
-
writeConfiguration
protected abstract void writeConfiguration()
-
startNow
protected void startNow() throws java.lang.Exception- Throws:
java.lang.Exception
-
invokeStart
protected void invokeStart() throws java.lang.Exception- Throws:
java.lang.Exception
-
prepareStart
protected void prepareStart()
-
prePrepare
protected boolean prePrepare()
-
postPrepare
protected void postPrepare()
-
preStart
protected void preStart()
-
postStart
protected void postStart()
-
prePrepareStart
protected boolean prePrepareStart()
-
postPrepareStart
protected void postPrepareStart()
-
preStop
protected boolean preStop()
-
postStop
protected void postStop(int exitValue)
-
deleteFiles
protected void deleteFiles(boolean sendUpdate)
-
preDelete
protected boolean preDelete()
-
postDelete
protected void postDelete(boolean sendUpdate)
-
-