Class NodeCloudServiceFactory
java.lang.Object
eu.cloudnetservice.node.impl.service.defaults.NodeCloudServiceFactory
- All Implemented Interfaces:
eu.cloudnetservice.driver.provider.CloudServiceFactory
@Singleton
@Provides(eu.cloudnetservice.driver.provider.CloudServiceFactory.class)
public class NodeCloudServiceFactory
extends Object
implements eu.cloudnetservice.driver.provider.CloudServiceFactory
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ScheduledExecutorServiceprivate final eu.cloudnetservice.driver.event.EventManagerprivate final eu.cloudnetservice.driver.provider.GroupConfigurationProviderprivate static final org.slf4j.Loggerprivate final eu.cloudnetservice.node.cluster.NodeServerProviderprivate final Lockprivate final InternalCloudServiceManager -
Constructor Summary
ConstructorsConstructorDescriptionNodeCloudServiceFactory(@NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory, @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry, @NonNull InternalCloudServiceManager serviceManager, @NonNull eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider, @NonNull eu.cloudnetservice.driver.provider.GroupConfigurationProvider groupProvider) -
Method Summary
Modifier and TypeMethodDescription@NonNull eu.cloudnetservice.driver.service.ServiceCreateResultcreateCloudService(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration maybeServiceConfiguration) @NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceCreateResult> createCloudServiceAsync(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration) protected voidincludeGroupComponents(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration input, eu.cloudnetservice.driver.service.ServiceConfiguration.Builder output) protected @NonNull eu.cloudnetservice.driver.service.ServiceCreateResultprocessServiceStartResponse(@NonNull eu.cloudnetservice.driver.service.ServiceCreateResult result, @NonNull eu.cloudnetservice.node.cluster.NodeServer associatedNode) private voidprotected voidreplaceServiceId(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration input, eu.cloudnetservice.driver.service.ServiceConfiguration.Builder output) protected voidreplaceServiceUniqueId(@NonNull eu.cloudnetservice.driver.service.ServiceConfiguration input, eu.cloudnetservice.driver.service.ServiceConfiguration.Builder output) protected @NonNull eu.cloudnetservice.driver.service.ServiceCreateResultscheduleCreateRetryIfEnabled(@NonNull eu.cloudnetservice.driver.service.ServiceCreateRetryConfiguration retryConfiguration, @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration) protected @NonNull eu.cloudnetservice.driver.service.ServiceCreateResultsendNodeServerStartRequest(@NonNull String message, @NonNull String targetNode, @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
eventManager
private final eu.cloudnetservice.driver.event.EventManager eventManager -
serviceManager
-
nodeServerProvider
private final eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider -
groupProvider
private final eu.cloudnetservice.driver.provider.GroupConfigurationProvider groupProvider -
serviceCreationLock
-
createRetryExecutor
-
-
Constructor Details
-
NodeCloudServiceFactory
@Inject public NodeCloudServiceFactory(@NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory, @NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry, @NonNull @NonNull InternalCloudServiceManager serviceManager, @NonNull @NonNull eu.cloudnetservice.node.cluster.NodeServerProvider nodeServerProvider, @NonNull @NonNull eu.cloudnetservice.driver.provider.GroupConfigurationProvider groupProvider)
-
-
Method Details
-
registerServiceChannelListener
@Inject private void registerServiceChannelListener() -
createCloudService
-
createCloudServiceAsync
@NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.service.ServiceCreateResult> createCloudServiceAsync(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration configuration) - Specified by:
createCloudServiceAsyncin interfaceeu.cloudnetservice.driver.provider.CloudServiceFactory
-
processServiceStartResponse
-
sendNodeServerStartRequest
-
scheduleCreateRetryIfEnabled
@NonNull protected @NonNull eu.cloudnetservice.driver.service.ServiceCreateResult scheduleCreateRetryIfEnabled(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceCreateRetryConfiguration retryConfiguration, @NonNull @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration) -
includeGroupComponents
-
replaceServiceId
-
replaceServiceUniqueId
-