Class DefaultCloudServiceManager
java.lang.Object
eu.cloudnetservice.node.impl.service.defaults.DefaultCloudServiceManager
- All Implemented Interfaces:
eu.cloudnetservice.driver.provider.CloudServiceProvider, InternalCloudServiceManager, eu.cloudnetservice.node.service.CloudServiceManager
@Singleton
@Provides({InternalCloudServiceManager.class,eu.cloudnetservice.node.service.CloudServiceManager.class,eu.cloudnetservice.driver.provider.CloudServiceProvider.class})
public class DefaultCloudServiceManager
extends Object
implements InternalCloudServiceManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ClassDescprivate static final ClassDescprotected final eu.cloudnetservice.driver.provider.CloudServiceFactoryprotected final Collection<String> protected final com.github.benmanes.caffeine.cache.Cache<UUID, InternalCloudService> private static final org.slf4j.Loggerprivate static final MethodTypeDescprotected static final eu.cloudnetservice.node.service.ServiceConfigurationPreparerprotected final eu.cloudnetservice.node.cluster.NodeServerProviderprotected static final Pathprotected final Map<eu.cloudnetservice.driver.service.ServiceEnvironmentType, eu.cloudnetservice.node.service.ServiceConfigurationPreparer> protected final eu.cloudnetservice.driver.network.rpc.RPCSenderprotected final eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<? extends eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider> protected static final Path -
Constructor Summary
ConstructorsConstructorDescriptionDefaultCloudServiceManager(@NonNull DefaultTickLoop mainThread, @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory, @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull eu.cloudnetservice.node.cluster.sync.DataSyncRegistry dataSyncRegistry, @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry, @NonNull eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider, @NonNull eu.cloudnetservice.driver.provider.CloudServiceFactory cloudServiceFactory, @NonNull List<String> args) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCloudServiceFactory(@NonNull String runtime, @NonNull eu.cloudnetservice.node.service.LocalCloudServiceFactory factory) voidaddCloudServiceFactory(@NonNull String runtime, @NonNull Class<? extends eu.cloudnetservice.node.service.LocalCloudServiceFactory> factory) voidaddServicePreparer(@NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType type, @NonNull eu.cloudnetservice.node.service.ServiceConfigurationPreparer preparer) voidaddServicePreparer(@NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType type, @NonNull Class<? extends eu.cloudnetservice.node.service.ServiceConfigurationPreparer> preparer) protected intcalculateReservedMemoryPercentage(@NonNull eu.cloudnetservice.node.cluster.NodeServer server) @UnmodifiableView @NonNull Map<String, eu.cloudnetservice.node.service.LocalCloudServiceFactory> @Nullable eu.cloudnetservice.node.service.LocalCloudServiceFactorycloudServiceFactory(@NonNull String runtime) createLocalCloudService(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration) intintvoidvoidforceRemoveRegisteredService(@NonNull UUID uniqueId) voidhandleServiceUpdate(@NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot snapshot, @Nullable eu.cloudnetservice.driver.network.NetworkChannel source) @Nullable eu.cloudnetservice.node.service.CloudServicelocalCloudService(@NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot snapshot) @Nullable eu.cloudnetservice.node.service.CloudServicelocalCloudService(@NonNull String name) @Nullable eu.cloudnetservice.node.service.CloudServicelocalCloudService(@NonNull UUID uniqueId) @NonNull @UnmodifiableView Collection<eu.cloudnetservice.node.service.CloudService> private voidvoid@Nullable eu.cloudnetservice.driver.provider.SpecificCloudServiceProviderregisterService(@NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot snapshot, @NonNull eu.cloudnetservice.driver.network.NetworkChannel source) voidvoidremoveCloudServiceFactory(@NonNull String runtime) voidremoveServicePreparer(@NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType type) @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> @Nullable eu.cloudnetservice.node.cluster.NodeServerselectNodeForService(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration) @NonNull eu.cloudnetservice.driver.provider.SpecificCloudServiceProviderselectOrCreateService(@NonNull eu.cloudnetservice.driver.service.ServiceTask task) @Nullable eu.cloudnetservice.driver.service.ServiceInfoSnapshot@NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> serviceAsync(@NonNull UUID uniqueId) @Nullable eu.cloudnetservice.driver.service.ServiceInfoSnapshotserviceByName(@NonNull String name) @NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> serviceByNameAsync(@NonNull String name) intintserviceCountByGroup(@NonNull String group) intserviceCountByTask(@NonNull String taskName) serviceCountByTaskAsync(@NonNull String taskName) @NonNull eu.cloudnetservice.node.service.ServiceConfigurationPreparerservicePreparer(@NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType type) @NonNull Collection<eu.cloudnetservice.node.service.ServiceConfigurationPreparer> @NonNull eu.cloudnetservice.driver.provider.SpecificCloudServiceProviderserviceProvider(@NonNull UUID serviceUniqueId) @NonNull eu.cloudnetservice.driver.provider.SpecificCloudServiceProviderserviceProviderByName(@NonNull String serviceName) @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> services()@NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByEnvironment(@NonNull String environment) @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByEnvironmentAsync(@NonNull String environment) @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByGroup(@NonNull String group) @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByGroupAsync(@NonNull String group) @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByTask(@NonNull String taskName) @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByTaskAsync(@NonNull String taskName) voidvoidtakeUnacceptedService(@NonNull UUID serviceUniqueId) voidunregisterLocalService(@NonNull eu.cloudnetservice.node.service.CloudService service)
-
Field Details
-
TEMP_SERVICE_DIR
-
PERSISTENT_SERVICE_DIR
-
NO_OP_PREPARER
protected static final eu.cloudnetservice.node.service.ServiceConfigurationPreparer NO_OP_PREPARER -
LOGGER
private static final org.slf4j.Logger LOGGER -
CD_UUID
-
CD_SPECIFIC_PROVIDER
-
MTD_SERVICE_PROVIDER
-
sender
protected final eu.cloudnetservice.driver.network.rpc.RPCSender sender -
defaultJvmOptions
-
nodeServerProvider
protected final eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider -
cloudServiceFactory
protected final eu.cloudnetservice.driver.provider.CloudServiceFactory cloudServiceFactory -
specificProviderAllocator
protected final eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<? extends eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider> specificProviderAllocator -
knownServices
-
localUnacceptedServices
protected final com.github.benmanes.caffeine.cache.Cache<UUID, InternalCloudService> localUnacceptedServices -
cloudServiceFactories
-
preparers
protected final Map<eu.cloudnetservice.driver.service.ServiceEnvironmentType, eu.cloudnetservice.node.service.ServiceConfigurationPreparer> preparers
-
-
Constructor Details
-
DefaultCloudServiceManager
@Inject public DefaultCloudServiceManager(@NonNull @NonNull DefaultTickLoop mainThread, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory, @NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.node.cluster.sync.DataSyncRegistry dataSyncRegistry, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry, @NonNull @NonNull eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider, @NonNull @NonNull eu.cloudnetservice.driver.provider.CloudServiceFactory cloudServiceFactory, @NonNull @Named("consoleArgs") @NonNull List<String> args)
-
-
Method Details
-
registerDefaultServiceFactory
@Inject private void registerDefaultServiceFactory() -
serviceProvider
-
serviceProviderByName
-
services
@NonNull public @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> services()- Specified by:
servicesin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
runningServices
@NonNull public @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> runningServices()- Specified by:
runningServicesin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByTask
@NonNull public @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByTask(@NonNull @NonNull String taskName) - Specified by:
servicesByTaskin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByEnvironment
@NonNull public @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByEnvironment(@NonNull @NonNull String environment) - Specified by:
servicesByEnvironmentin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByGroup
@NonNull public @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot> servicesByGroup(@NonNull @NonNull String group) - Specified by:
servicesByGroupin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
serviceCount
public int serviceCount()- Specified by:
serviceCountin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
serviceCountByGroup
-
serviceCountByTask
-
serviceByName
-
service
-
servicesAsync
@NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesAsync()- Specified by:
servicesAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
runningServicesAsync
@NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> runningServicesAsync()- Specified by:
runningServicesAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByTaskAsync
@NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByTaskAsync(@NonNull @NonNull String taskName) - Specified by:
servicesByTaskAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByEnvironmentAsync
@NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByEnvironmentAsync(@NonNull @NonNull String environment) - Specified by:
servicesByEnvironmentAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
servicesByGroupAsync
@NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.ServiceInfoSnapshot>> servicesByGroupAsync(@NonNull @NonNull String group) - Specified by:
servicesByGroupAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
serviceCountAsync
- Specified by:
serviceCountAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceProvider
-
serviceCountByGroupAsync
-
serviceCountByTaskAsync
-
serviceByNameAsync
-
serviceAsync
-
cloudServiceFactories
@NonNull public @UnmodifiableView @NonNull Map<String, eu.cloudnetservice.node.service.LocalCloudServiceFactory> cloudServiceFactories()- Specified by:
cloudServiceFactoriesin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
cloudServiceFactory
-
addCloudServiceFactory
-
addCloudServiceFactory
-
removeCloudServiceFactory
-
servicePreparers
@NonNull public @NonNull Collection<eu.cloudnetservice.node.service.ServiceConfigurationPreparer> servicePreparers()- Specified by:
servicePreparersin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
servicePreparer
-
addServicePreparer
public void addServicePreparer(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType type, @NonNull @NonNull Class<? extends eu.cloudnetservice.node.service.ServiceConfigurationPreparer> preparer) - Specified by:
addServicePreparerin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
addServicePreparer
-
removeServicePreparer
-
tempDirectory
-
persistentServicesDirectory
-
startAllCloudServices
public void startAllCloudServices()- Specified by:
startAllCloudServicesin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
stopAllCloudServices
public void stopAllCloudServices()- Specified by:
stopAllCloudServicesin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
deleteAllCloudServices
public void deleteAllCloudServices()- Specified by:
deleteAllCloudServicesin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
localCloudServices
@NonNull public @NonNull @UnmodifiableView Collection<eu.cloudnetservice.node.service.CloudService> localCloudServices()- Specified by:
localCloudServicesin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
localCloudService
-
localCloudService
-
localCloudService
-
defaultJvmOptions
- Specified by:
defaultJvmOptionsin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
currentUsedHeapMemory
public int currentUsedHeapMemory()- Specified by:
currentUsedHeapMemoryin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
currentReservedMemory
public int currentReservedMemory()- Specified by:
currentReservedMemoryin interfaceeu.cloudnetservice.node.service.CloudServiceManager
-
selectNodeForService
-
registerLocalService
- Specified by:
registerLocalServicein interfaceInternalCloudServiceManager
-
unregisterLocalService
public void unregisterLocalService(@NonNull @NonNull eu.cloudnetservice.node.service.CloudService service) - Specified by:
unregisterLocalServicein interfaceInternalCloudServiceManager
-
registerUnacceptedService
- Specified by:
registerUnacceptedServicein interfaceInternalCloudServiceManager
-
takeUnacceptedService
@Nullable public @Nullable InternalCloudService takeUnacceptedService(@NonNull @NonNull UUID serviceUniqueId) - Specified by:
takeUnacceptedServicein interfaceInternalCloudServiceManager
-
forceRemoveRegisteredService
- Specified by:
forceRemoveRegisteredServicein interfaceInternalCloudServiceManager
-
registerService
@Nullable public @Nullable eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider registerService(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot snapshot, @NonNull @NonNull eu.cloudnetservice.driver.network.NetworkChannel source) - Specified by:
registerServicein interfaceInternalCloudServiceManager
-
handleServiceUpdate
public void handleServiceUpdate(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot snapshot, @Nullable @Nullable eu.cloudnetservice.driver.network.NetworkChannel source) - Specified by:
handleServiceUpdatein interfaceInternalCloudServiceManager
-
createLocalCloudService
@NonNull public @NonNull InternalCloudService createLocalCloudService(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration) - Specified by:
createLocalCloudServicein interfaceInternalCloudServiceManager
-
selectOrCreateService
@NonNull public @NonNull eu.cloudnetservice.driver.provider.SpecificCloudServiceProvider selectOrCreateService(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceTask task) - Specified by:
selectOrCreateServicein interfaceInternalCloudServiceManager
-
calculateReservedMemoryPercentage
-