Class AgentServicesAutoConfiguration
java.lang.Object
com.netflix.genie.web.spring.autoconfigure.agent.services.AgentServicesAutoConfiguration
@Configuration
@EnableConfigurationProperties({AgentConfigurationProperties.class,AgentRoutingServiceProperties.class,AgentConnectionTrackingServiceProperties.class})
public class AgentServicesAutoConfiguration
extends Object
Auto configuration for services needed in the agent module.
- Since:
- 4.0.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionagentConfigurationService(AgentConfigurationProperties agentConfigurationProperties, com.netflix.genie.common.internal.util.PropertiesMapCache.Factory propertiesMapCacheFactory, io.micrometer.core.instrument.MeterRegistry registry) Provide aAgentConfigurationServiceif one is not defined.agentConnectionTrackingService(AgentRoutingService agentRoutingService, org.springframework.scheduling.TaskScheduler taskScheduler, AgentConnectionTrackingServiceProperties serviceProperties) Get an implementation ofAgentConnectionTrackingServiceif one hasn't already been defined.agentFilterService(List<AgentMetadataInspector> agentMetadataInspectorsList) AAgentFilterServiceimplementation that federates the decision to a set ofAgentMetadataInspectors.agentJobService(DataServices dataServices, JobResolverService jobResolverService, AgentFilterService agentFilterService, AgentConfigurationService agentConfigurationService, io.micrometer.core.instrument.MeterRegistry meterRegistry) Get aAgentJobServiceinstance if there isn't already one.agentRoutingServiceCurator(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo, org.apache.curator.x.discovery.ServiceDiscovery<AgentRoutingServiceCuratorDiscoveryImpl.Agent> serviceDiscovery, org.springframework.scheduling.TaskScheduler taskScheduler, org.apache.curator.framework.listen.Listenable<org.apache.curator.framework.state.ConnectionStateListener> listenableCuratorConnectionState, io.micrometer.core.instrument.MeterRegistry registry, AgentRoutingServiceProperties properties) Get an implementation ofAgentRoutingServiceif one hasn't already been defined.agentRoutingServiceSingleNodeImpl(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo) Get an implementation ofAgentRoutingServiceif one hasn't already been defined.
-
Constructor Details
-
AgentServicesAutoConfiguration
public AgentServicesAutoConfiguration()
-
-
Method Details
-
agentJobService
@Bean @ConditionalOnMissingBean(AgentJobService.class) public AgentJobServiceImpl agentJobService(DataServices dataServices, JobResolverService jobResolverService, AgentFilterService agentFilterService, AgentConfigurationService agentConfigurationService, io.micrometer.core.instrument.MeterRegistry meterRegistry) Get aAgentJobServiceinstance if there isn't already one.- Parameters:
dataServices- TheDataServicesinstance to usejobResolverService- The specification service to useagentFilterService- The agent filter service to useagentConfigurationService- The agent configuration servicemeterRegistry- The metrics registry to use- Returns:
- An
AgentJobServiceImplinstance.
-
agentConnectionTrackingService
@Bean @ConditionalOnMissingBean(AgentConnectionTrackingService.class) public AgentConnectionTrackingService agentConnectionTrackingService(AgentRoutingService agentRoutingService, @Qualifier("genieTaskScheduler") org.springframework.scheduling.TaskScheduler taskScheduler, AgentConnectionTrackingServiceProperties serviceProperties) Get an implementation ofAgentConnectionTrackingServiceif one hasn't already been defined.- Parameters:
agentRoutingService- the agent routing servicetaskScheduler- the task schedulerserviceProperties- the service properties- Returns:
- A
AgentConnectionTrackingServiceImplinstance
-
agentRoutingServiceSingleNodeImpl
@Bean @ConditionalOnMissingBean({AgentRoutingService.class,org.apache.curator.x.discovery.ServiceDiscovery.class}) public AgentRoutingService agentRoutingServiceSingleNodeImpl(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo) Get an implementation ofAgentRoutingServiceif one hasn't already been defined. This bean is created if Zookeeper is disabled (single-node Genie deployments and tests).- Parameters:
genieHostInfo- The local genie host information- Returns:
- A
AgentRoutingServiceSingleNodeImplinstance
-
agentRoutingServiceCurator
@Bean @ConditionalOnBean(org.apache.curator.x.discovery.ServiceDiscovery.class) @ConditionalOnMissingBean(AgentRoutingService.class) public AgentRoutingService agentRoutingServiceCurator(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo, org.apache.curator.x.discovery.ServiceDiscovery<AgentRoutingServiceCuratorDiscoveryImpl.Agent> serviceDiscovery, @Qualifier("genieTaskScheduler") org.springframework.scheduling.TaskScheduler taskScheduler, org.apache.curator.framework.listen.Listenable<org.apache.curator.framework.state.ConnectionStateListener> listenableCuratorConnectionState, io.micrometer.core.instrument.MeterRegistry registry, AgentRoutingServiceProperties properties) Get an implementation ofAgentRoutingServiceif one hasn't already been defined. This bean is created if Zookeeper is enabled, it uses Curator'sServiceDiscovery.- Parameters:
genieHostInfo- The local genie host informationserviceDiscovery- The Zookeeper Curator service discoverytaskScheduler- The task schedulerlistenableCuratorConnectionState- the connection state listenableregistry- The metrics registryproperties- The service properties- Returns:
- A
AgentRoutingServiceCuratorDiscoveryImplinstance
-
agentFilterService
@Bean @ConditionalOnMissingBean(AgentFilterService.class) public AgentFilterServiceImpl agentFilterService(List<AgentMetadataInspector> agentMetadataInspectorsList) AAgentFilterServiceimplementation that federates the decision to a set ofAgentMetadataInspectors.- Parameters:
agentMetadataInspectorsList- the list of inspectors.- Returns:
- An
AgentFilterServiceinstance.
-
agentConfigurationService
@Bean @ConditionalOnMissingBean(AgentConfigurationService.class) public AgentConfigurationServiceImpl agentConfigurationService(AgentConfigurationProperties agentConfigurationProperties, com.netflix.genie.common.internal.util.PropertiesMapCache.Factory propertiesMapCacheFactory, io.micrometer.core.instrument.MeterRegistry registry) Provide aAgentConfigurationServiceif one is not defined.- Parameters:
agentConfigurationProperties- the service propertiespropertiesMapCacheFactory- the properties map cache factoryregistry- the metrics registry- Returns:
- a
AgentConfigurationServiceinstance
-