@Configuration @EnableConfigurationProperties(value=S3FileTransferProperties.class) public class JobsAutoConfiguration extends java.lang.Object
Constructor and Description |
---|
JobsAutoConfiguration() |
Modifier and Type | Method and Description |
---|---|
ApplicationTask |
applicationProcessorTask(io.micrometer.core.instrument.MeterRegistry registry,
GenieFileTransferService fts)
Create an Application Task bean that processes all Applications needed for a job.
|
ClusterTask |
clusterProcessorTask(io.micrometer.core.instrument.MeterRegistry registry,
GenieFileTransferService fts)
Create an Cluster Task bean that processes the cluster needed for a job.
|
CommandTask |
commandProcessorTask(io.micrometer.core.instrument.MeterRegistry registry,
GenieFileTransferService fts)
Create an Command Task bean that processes the command needed for a job.
|
HttpFileTransferImpl |
httpFileTransfer(org.springframework.web.client.RestTemplate restTemplate,
io.micrometer.core.instrument.MeterRegistry registry)
Bean to create a http[s] file transfer object.
|
InitialSetupTask |
initialSetupTask(io.micrometer.core.instrument.MeterRegistry registry)
Create an setup Task bean that does initial setup before any of the tasks start.
|
JobKickoffTask |
jobKickoffTask(JobsProperties jobsProperties,
org.apache.commons.exec.Executor executor,
GenieHostInfo genieHostInfo,
io.micrometer.core.instrument.MeterRegistry registry)
Create an Job Kickoff Task bean that runs the job.
|
JobFailureAndKillHandlerLogicTask |
jobKillLogicTask(io.micrometer.core.instrument.MeterRegistry registry)
Create a task that adds logic to handle kill requests to a job.
|
JobTask |
jobProcessorTask(AttachmentService attachmentService,
io.micrometer.core.instrument.MeterRegistry registry,
GenieFileTransferService fts)
Create an Job Task bean that processes Job information provided by user.
|
LocalFileTransferImpl |
localFileTransfer()
Bean to create a local file transfer object.
|
ProcessChecker.Factory |
processCheckerFactory(org.apache.commons.exec.Executor executor,
JobsProperties jobsProperties)
Create a
ProcessChecker.Factory suitable for UNIX systems. |
S3FileTransferImpl |
s3FileTransferImpl(S3ClientFactory s3ClientFactory,
io.micrometer.core.instrument.MeterRegistry registry,
S3FileTransferProperties s3FileTransferProperties)
Returns a bean which has an s3 implementation of the File Transfer interface.
|
@Bean(name={"file.system.file","file.system.null"}) @Order(value=2) @ConditionalOnMissingBean(value=LocalFileTransferImpl.class) public LocalFileTransferImpl localFileTransfer()
@Bean(name={"file.system.http","file.system.https"}) @Order(value=3) @ConditionalOnMissingBean(value=HttpFileTransferImpl.class) public HttpFileTransferImpl httpFileTransfer(org.springframework.web.client.RestTemplate restTemplate, io.micrometer.core.instrument.MeterRegistry registry)
restTemplate
- The rest template to useregistry
- The registry to use for metrics@Bean(name={"file.system.s3","file.system.s3n","file.system.s3a"}) @Order(value=1) @ConditionalOnMissingBean(value=S3FileTransferImpl.class) @ConditionalOnBean(value=S3ClientFactory.class) public S3FileTransferImpl s3FileTransferImpl(S3ClientFactory s3ClientFactory, io.micrometer.core.instrument.MeterRegistry registry, S3FileTransferProperties s3FileTransferProperties)
s3ClientFactory
- S3 client factory to useregistry
- The metrics registry to uses3FileTransferProperties
- Configuration properties@Bean @Order(value=0) @ConditionalOnMissingBean(value=JobFailureAndKillHandlerLogicTask.class) public JobFailureAndKillHandlerLogicTask jobKillLogicTask(io.micrometer.core.instrument.MeterRegistry registry)
registry
- The metrics registry to use@Bean @Order(value=1) @ConditionalOnMissingBean(value=InitialSetupTask.class) public InitialSetupTask initialSetupTask(io.micrometer.core.instrument.MeterRegistry registry)
registry
- The metrics registry to use@Bean @Order(value=2) @ConditionalOnMissingBean(value=ClusterTask.class) public ClusterTask clusterProcessorTask(io.micrometer.core.instrument.MeterRegistry registry, @Qualifier(value="cacheGenieFileTransferService") GenieFileTransferService fts)
registry
- The metrics registry to usefts
- File transfer implementation@Bean @Order(value=3) @ConditionalOnMissingBean(value=ApplicationTask.class) public ApplicationTask applicationProcessorTask(io.micrometer.core.instrument.MeterRegistry registry, @Qualifier(value="cacheGenieFileTransferService") GenieFileTransferService fts)
registry
- The metrics registry to usefts
- File transfer implementation@Bean @Order(value=4) @ConditionalOnMissingBean(value=CommandTask.class) public CommandTask commandProcessorTask(io.micrometer.core.instrument.MeterRegistry registry, @Qualifier(value="cacheGenieFileTransferService") GenieFileTransferService fts)
registry
- The metrics registry to usefts
- File transfer implementation@Bean @Order(value=5) @ConditionalOnMissingBean(value=JobTask.class) public JobTask jobProcessorTask(AttachmentService attachmentService, io.micrometer.core.instrument.MeterRegistry registry, @Qualifier(value="genieFileTransferService") GenieFileTransferService fts)
attachmentService
- An implementation of the attachment serviceregistry
- The metrics registry to usefts
- File transfer implementation@Bean @Order(value=6) @ConditionalOnMissingBean(value=JobKickoffTask.class) public JobKickoffTask jobKickoffTask(JobsProperties jobsProperties, org.apache.commons.exec.Executor executor, GenieHostInfo genieHostInfo, io.micrometer.core.instrument.MeterRegistry registry)
jobsProperties
- The various jobs propertiesexecutor
- An instance of an executorgenieHostInfo
- Info about the host Genie is running onregistry
- The metrics registry to use@Bean @ConditionalOnMissingBean(value=ProcessChecker.Factory.class) public ProcessChecker.Factory processCheckerFactory(org.apache.commons.exec.Executor executor, JobsProperties jobsProperties)
ProcessChecker.Factory
suitable for UNIX systems.executor
- The executor where checks are executedjobsProperties
- The jobs propertiesProcessChecker.Factory