@Configuration
@EnableConfigurationProperties(value={DataServiceRetryProperties.class,FileCacheProperties.class,HealthProperties.class,JobsCleanupProperties.class,JobsForwardingProperties.class,JobsLocationsProperties.class,JobsMaxProperties.class,JobsMemoryProperties.class,JobsUsersProperties.class,ExponentialBackOffTriggerProperties.class,JobsActiveLimitProperties.class})
public class GenieServicesAutoConfiguration
extends java.lang.Object
| Constructor and Description |
|---|
GenieServicesAutoConfiguration() |
| Modifier and Type | Method and Description |
|---|---|
AgentFilterService |
agentFilterService()
Get a NOOP/fallback
AgentFilterService instance if there isn't already one. |
AgentJobService |
agentJobService(JobPersistenceService jobPersistenceService,
JobSpecificationService jobSpecificationService,
AgentFilterService agentFilterService,
io.micrometer.core.instrument.MeterRegistry meterRegistry)
Get a
AgentJobService instance if there isn't already one. |
AgentMetricsServiceImpl |
agentMetricsService(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo,
AgentConnectionPersistenceService agentConnectionPersistenceService,
io.micrometer.core.instrument.MeterRegistry registry)
Provide an implementation of
AgentMetricsService if one hasn't been provided. |
AgentRoutingService |
agentRoutingService(AgentConnectionPersistenceService agentConnectionPersistenceService,
com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo)
Get an implementation of
AgentRoutingService if one hasn't already been defined. |
AttachmentService |
attachmentService(JobsProperties jobsProperties)
The attachment service to use.
|
GenieFileTransferService |
cacheGenieFileTransferService(FileTransferFactory fileTransferFactory,
FileCacheProperties fileCacheProperties,
LocalFileTransferImpl localFileTransfer,
io.micrometer.core.instrument.MeterRegistry registry)
Get an instance of the Cache Genie File Transfer service.
|
AgentFileStreamService |
fallbackAgentFileStreamService()
Get a fallback implementation of
AgentFileStreamService in case gRPC is disabled. |
JobKillServiceV4 |
fallbackJobKillServiceV4()
Get a fallback implementation of
JobKillServiceV4 in case gRPC is disabled. |
org.springframework.beans.factory.config.ServiceLocatorFactoryBean |
fileTransferFactory()
FileTransfer factory.
|
GenieFileTransferService |
genieFileTransferService(FileTransferFactory fileTransferFactory)
Get an instance of the Genie File Transfer service.
|
JobCompletionService |
jobCompletionService(JobPersistenceService jobPersistenceService,
JobSearchService jobSearchService,
com.netflix.genie.common.internal.services.JobArchiveService jobArchiveService,
org.springframework.core.io.Resource genieWorkingDir,
MailService mailService,
io.micrometer.core.instrument.MeterRegistry registry,
JobsProperties jobsProperties,
org.springframework.retry.support.RetryTemplate retryTemplate)
Get an implementation of
JobCompletionService if one hasn't already been defined. |
JobCoordinatorService |
jobCoordinatorService(JobPersistenceService jobPersistenceService,
JobKillService jobKillService,
JobStateService jobStateService,
JobSearchService jobSearchService,
JobsProperties jobsProperties,
ApplicationPersistenceService applicationPersistenceService,
ClusterPersistenceService clusterPersistenceService,
CommandPersistenceService commandPersistenceService,
JobSpecificationService specificationService,
io.micrometer.core.instrument.MeterRegistry registry,
com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo)
Get an instance of the JobCoordinatorService.
|
JobDirectoryServerService |
jobDirectoryServerService(org.springframework.core.io.ResourceLoader resourceLoader,
JobPersistenceService jobPersistenceService,
JobFileService jobFileService,
AgentFileStreamService agentFileStreamService,
io.micrometer.core.instrument.MeterRegistry meterRegistry)
Provide the default implementation of
JobDirectoryServerService for serving job directory resources. |
JobFileService |
jobFileService(org.springframework.core.io.Resource jobsDir)
Get a
JobFileService implementation if one is required. |
JobKillService |
jobKillService(JobKillServiceV3 jobKillServiceV3,
JobKillServiceV4 jobKillServiceV4,
JobPersistenceService jobPersistenceService)
Get an local implementation of the JobKillService.
|
JobKillServiceV3 |
jobKillServiceV3(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo,
JobSearchService jobSearchService,
org.apache.commons.exec.Executor executor,
JobsProperties jobsProperties,
GenieEventBus genieEventBus,
org.springframework.core.io.Resource genieWorkingDir,
com.fasterxml.jackson.databind.ObjectMapper objectMapper,
ProcessChecker.Factory processCheckerFactory)
Get an local implementation of the JobKillService.
|
JobSpecificationService |
jobSpecificationService(ApplicationPersistenceService applicationPersistenceService,
ClusterPersistenceService clusterPersistenceService,
CommandPersistenceService commandPersistenceService,
@NotEmpty java.util.List<ClusterLoadBalancer> clusterLoadBalancers,
io.micrometer.core.instrument.MeterRegistry registry,
JobsProperties jobsProperties)
Get an implementation of
JobSpecificationService if one hasn't already been defined. |
JobsProperties |
jobsProperties(JobsCleanupProperties cleanup,
JobsForwardingProperties forwarding,
JobsLocationsProperties locations,
JobsMaxProperties max,
JobsMemoryProperties memory,
JobsUsersProperties users,
ExponentialBackOffTriggerProperties completionCheckBackOff,
JobsActiveLimitProperties activeLimit)
Collection of properties related to job execution.
|
JobSubmitterService |
jobSubmitterService(JobPersistenceService jobPersistenceService,
GenieEventBus genieEventBus,
java.util.List<WorkflowTask> workflowTasks,
org.springframework.core.io.Resource genieWorkingDir,
io.micrometer.core.instrument.MeterRegistry registry)
Get a implementation of the JobSubmitterService that runs jobs locally.
|
@Bean public JobsProperties jobsProperties(JobsCleanupProperties cleanup, JobsForwardingProperties forwarding, JobsLocationsProperties locations, JobsMaxProperties max, JobsMemoryProperties memory, JobsUsersProperties users, ExponentialBackOffTriggerProperties completionCheckBackOff, JobsActiveLimitProperties activeLimit)
cleanup - cleanup propertiesforwarding - forwarding propertieslocations - locations propertiesmax - max propertiesmemory - memory propertiesusers - users propertiescompletionCheckBackOff - completion back-off propertiesactiveLimit - active limit propertiesJobsProperties instance@Bean @ConditionalOnMissingBean(value=JobKillServiceV3.class) public JobKillServiceV3 jobKillServiceV3(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo, JobSearchService jobSearchService, org.apache.commons.exec.Executor executor, JobsProperties jobsProperties, GenieEventBus genieEventBus, @Qualifier(value="jobsDir") org.springframework.core.io.Resource genieWorkingDir, com.fasterxml.jackson.databind.ObjectMapper objectMapper, ProcessChecker.Factory processCheckerFactory)
genieHostInfo - Information about the host the Genie process is running onjobSearchService - The job search service to use to locate job information.executor - The executor to use to run system processes.jobsProperties - The jobs properties to usegenieEventBus - The application event bus to use to publish system wide eventsgenieWorkingDir - Working directory for genie where it creates jobs directories.objectMapper - The Jackson ObjectMapper used to serialize from/to JSONprocessCheckerFactory - The process checker factory@Bean @ConditionalOnMissingBean(value=JobKillService.class) public JobKillService jobKillService(JobKillServiceV3 jobKillServiceV3, JobKillServiceV4 jobKillServiceV4, JobPersistenceService jobPersistenceService)
jobKillServiceV3 - Service to kill V3 jobs.jobKillServiceV4 - Service to kill V4 jobs.jobPersistenceService - Job persistence service@Bean @ConditionalOnMissingBean(value=JobKillServiceV4.class) public JobKillServiceV4 fallbackJobKillServiceV4()
JobKillServiceV4 in case gRPC is disabled.@Bean @ConditionalOnMissingBean(name="genieFileTransferService") public GenieFileTransferService genieFileTransferService(FileTransferFactory fileTransferFactory) throws com.netflix.genie.common.exceptions.GenieException
fileTransferFactory - file transfer implementation factorycom.netflix.genie.common.exceptions.GenieException - If there is any problem@Bean @ConditionalOnMissingBean(name="cacheGenieFileTransferService") public GenieFileTransferService cacheGenieFileTransferService(FileTransferFactory fileTransferFactory, FileCacheProperties fileCacheProperties, LocalFileTransferImpl localFileTransfer, io.micrometer.core.instrument.MeterRegistry registry) throws com.netflix.genie.common.exceptions.GenieException
fileTransferFactory - file transfer implementation factoryfileCacheProperties - Properties related to the file cache that can be set by the adminlocalFileTransfer - local file transfer serviceregistry - Registrycom.netflix.genie.common.exceptions.GenieException - If there is any problem@Bean @ConditionalOnMissingBean(value=JobSubmitterService.class) public JobSubmitterService jobSubmitterService(JobPersistenceService jobPersistenceService, GenieEventBus genieEventBus, java.util.List<WorkflowTask> workflowTasks, @Qualifier(value="jobsDir") org.springframework.core.io.Resource genieWorkingDir, io.micrometer.core.instrument.MeterRegistry registry)
jobPersistenceService - Implementation of the job persistence service.genieEventBus - The genie event bus implementation to useworkflowTasks - List of all the workflow tasks to be executed.genieWorkingDir - Working directory for genie where it creates jobs directories.registry - The metrics registry to use@Bean @ConditionalOnMissingBean(value=JobCoordinatorService.class) public JobCoordinatorService jobCoordinatorService(JobPersistenceService jobPersistenceService, JobKillService jobKillService, @Qualifier(value="jobMonitoringCoordinator") JobStateService jobStateService, JobSearchService jobSearchService, JobsProperties jobsProperties, ApplicationPersistenceService applicationPersistenceService, ClusterPersistenceService clusterPersistenceService, CommandPersistenceService commandPersistenceService, JobSpecificationService specificationService, io.micrometer.core.instrument.MeterRegistry registry, com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo)
jobPersistenceService - implementation of job persistence service interfacejobKillService - The job kill service to usejobStateService - The running job metrics service to usejobSearchService - Implementation of job search service interfacejobsProperties - The jobs properties to useapplicationPersistenceService - Implementation of application service interfaceclusterPersistenceService - Implementation of cluster service interfacecommandPersistenceService - Implementation of command service interfacespecificationService - The job specification service to useregistry - The metrics registry to usegenieHostInfo - Information about the host the Genie process is running on@Bean @ConditionalOnMissingBean(value=AttachmentService.class) public AttachmentService attachmentService(JobsProperties jobsProperties)
jobsProperties - All properties related to jobs@Bean
@ConditionalOnMissingBean(name="fileTransferFactory",
value=org.springframework.beans.factory.config.ServiceLocatorFactoryBean.class)
public org.springframework.beans.factory.config.ServiceLocatorFactoryBean fileTransferFactory()
@Bean @ConditionalOnMissingBean(value=AgentJobService.class) public AgentJobService agentJobService(JobPersistenceService jobPersistenceService, JobSpecificationService jobSpecificationService, AgentFilterService agentFilterService, io.micrometer.core.instrument.MeterRegistry meterRegistry)
AgentJobService instance if there isn't already one.jobPersistenceService - The persistence service to usejobSpecificationService - The specification service to useagentFilterService - The agent filter service to usemeterRegistry - The metrics registry to useAgentJobServiceImpl instance.@Bean @ConditionalOnMissingBean(value=JobFileService.class) public JobFileService jobFileService(@Qualifier(value="jobsDir") org.springframework.core.io.Resource jobsDir) throws java.io.IOException
JobFileService implementation if one is required.jobsDir - The job directory resourceDiskJobFileServiceImpl instancejava.io.IOException - When the job directory can't be created or isn't a directory@Bean @ConditionalOnMissingBean(value=JobSpecificationService.class) public JobSpecificationService jobSpecificationService(ApplicationPersistenceService applicationPersistenceService, ClusterPersistenceService clusterPersistenceService, CommandPersistenceService commandPersistenceService, @NotEmpty @NotEmpty java.util.List<ClusterLoadBalancer> clusterLoadBalancers, io.micrometer.core.instrument.MeterRegistry registry, JobsProperties jobsProperties)
JobSpecificationService if one hasn't already been defined.applicationPersistenceService - The service to use to manipulate applicationsclusterPersistenceService - The service to use to manipulate clusterscommandPersistenceService - The service to use to manipulate commandsclusterLoadBalancers - The load balancer implementations to useregistry - The metrics repository to usejobsProperties - The properties for running a job set by the userJobSpecificationServiceImpl instance@Bean @ConditionalOnMissingBean(value=AgentRoutingService.class) public AgentRoutingService agentRoutingService(AgentConnectionPersistenceService agentConnectionPersistenceService, com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo)
AgentRoutingService if one hasn't already been defined.agentConnectionPersistenceService - The persistence service to use for agent connectionsgenieHostInfo - The local genie host informationAgentRoutingServiceImpl instance@Bean @ConditionalOnMissingBean(value=JobCompletionService.class) public JobCompletionService jobCompletionService(JobPersistenceService jobPersistenceService, JobSearchService jobSearchService, com.netflix.genie.common.internal.services.JobArchiveService jobArchiveService, @Qualifier(value="jobsDir") org.springframework.core.io.Resource genieWorkingDir, MailService mailService, io.micrometer.core.instrument.MeterRegistry registry, JobsProperties jobsProperties, @Qualifier(value="genieRetryTemplate") org.springframework.retry.support.RetryTemplate retryTemplate) throws com.netflix.genie.common.exceptions.GenieException
JobCompletionService if one hasn't already been defined.jobPersistenceService - The job persistence service to usejobSearchService - The job search service to usejobArchiveService - The JobArchiveService implementation to usegenieWorkingDir - Working directory for genie where it creates jobs directories.mailService - The mail serviceregistry - RegistryjobsProperties - The jobs properties to useretryTemplate - The retry templateJobCompletionServicecom.netflix.genie.common.exceptions.GenieException - if the bean fails during construction@Bean @ConditionalOnMissingBean(value=AgentFilterService.class) public AgentFilterService agentFilterService()
AgentFilterService instance if there isn't already one.AgentFilterService instance.GenieAgentFilterAutoConfiguration@Bean @ConditionalOnMissingBean(value=JobDirectoryServerService.class) public JobDirectoryServerService jobDirectoryServerService(org.springframework.core.io.ResourceLoader resourceLoader, JobPersistenceService jobPersistenceService, JobFileService jobFileService, AgentFileStreamService agentFileStreamService, io.micrometer.core.instrument.MeterRegistry meterRegistry)
JobDirectoryServerService for serving job directory resources.resourceLoader - The application resource loader used to get references to resourcesjobPersistenceService - The job persistence service used to get information about a jobjobFileService - The service responsible for managing the job working directory on disk for V3 JobsagentFileStreamService - The service to request a file from an agent running a jobmeterRegistry - The meter registry used to keep track of metricsJobDirectoryServerServiceImpl@Bean @ConditionalOnMissingBean(value=AgentFileStreamService.class) public AgentFileStreamService fallbackAgentFileStreamService()
AgentFileStreamService in case gRPC is disabled.@Bean @ConditionalOnMissingBean(value=AgentMetricsService.class) public AgentMetricsServiceImpl agentMetricsService(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo, AgentConnectionPersistenceService agentConnectionPersistenceService, io.micrometer.core.instrument.MeterRegistry registry)
AgentMetricsService if one hasn't been provided.genieHostInfo - The Genie host informationagentConnectionPersistenceService - Implementation of AgentConnectionPersistenceService to get
information about running agents in the ecosystemregistry - The metrics repositoryAgentMetricsServiceImpl