Class AgentRpcEndpointsAutoConfiguration
java.lang.Object
com.netflix.genie.web.spring.autoconfigure.agent.apis.rpc.v4.endpoints.AgentRpcEndpointsAutoConfiguration
@Configuration
@EnableConfigurationProperties({AgentFileStreamProperties.class,HeartBeatProperties.class})
public class AgentRpcEndpointsAutoConfiguration
extends Object
Configures various gRPC services and related beans if gRPC functionality is enabled.
- Since:
- 4.0.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongRpcAgentFileStreamService(com.netflix.genie.common.internal.dtos.converters.JobDirectoryManifestProtoConverter converter, org.springframework.scheduling.TaskScheduler taskScheduler, AgentFileStreamProperties properties, io.micrometer.core.instrument.MeterRegistry registry) Provide an implementation ofFileStreamServiceGrpc.FileStreamServiceImplBaseif no other is provided.gRpcHeartBeatService(AgentConnectionTrackingService agentConnectionTrackingService, HeartBeatProperties properties, org.springframework.scheduling.TaskScheduler taskScheduler, io.micrometer.core.instrument.MeterRegistry registry) Provide an implementation ofHeartBeatServiceGrpc.HeartBeatServiceImplBaseif no other is provided.gRpcJobKillService(DataServices dataServices, AgentRoutingService agentRoutingService, RequestForwardingService requestForwardingService) Provide an implementation ofJobKillServiceGrpc.JobKillServiceImplBaseif no other is provided.gRpcJobService(AgentJobService agentJobService, com.netflix.genie.common.internal.dtos.converters.JobServiceProtoConverter jobServiceProtoConverter, JobServiceProtoErrorComposer protoErrorComposer, io.micrometer.core.instrument.MeterRegistry meterRegistry) Provide an implementation ofJobServiceGrpc.JobServiceImplBaseif no other is provided.gRpcPingService(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo) Provide an implementation ofPingServiceGrpc.PingServiceImplBaseif no other is provided.org.springframework.scheduling.TaskSchedulerGet the task scheduler used by the HeartBeat Service.Bean for converting errors in the job service to gRPC messages.
-
Constructor Details
-
AgentRpcEndpointsAutoConfiguration
public AgentRpcEndpointsAutoConfiguration()
-
-
Method Details
-
heartBeatServiceTaskScheduler
@Bean @ConditionalOnMissingBean(name="heartBeatServiceTaskScheduler") public org.springframework.scheduling.TaskScheduler heartBeatServiceTaskScheduler()Get the task scheduler used by the HeartBeat Service.- Returns:
- The task scheduler
-
jobServiceProtoErrorComposer
@Bean @ConditionalOnMissingBean(JobServiceProtoErrorComposer.class) public JobServiceProtoErrorComposer jobServiceProtoErrorComposer()Bean for converting errors in the job service to gRPC messages.- Returns:
- An instance of
JobServiceProtoErrorComposer
-
gRpcAgentFileStreamService
@Bean @ConditionalOnMissingBean(com.netflix.genie.proto.FileStreamServiceGrpc.FileStreamServiceImplBase.class) public GRpcAgentFileStreamServiceImpl gRpcAgentFileStreamService(com.netflix.genie.common.internal.dtos.converters.JobDirectoryManifestProtoConverter converter, @Qualifier("genieTaskScheduler") org.springframework.scheduling.TaskScheduler taskScheduler, AgentFileStreamProperties properties, io.micrometer.core.instrument.MeterRegistry registry) Provide an implementation ofFileStreamServiceGrpc.FileStreamServiceImplBaseif no other is provided.- Parameters:
converter- TheJobDirectoryManifestProtoConverterinstance to usetaskScheduler- TheTaskSchedulerto use to schedule tasksproperties- The service propertiesregistry- The meter registry- Returns:
- An instance of
GRpcAgentFileStreamServiceImpl
-
gRpcHeartBeatService
@Bean @ConditionalOnMissingBean(com.netflix.genie.proto.HeartBeatServiceGrpc.HeartBeatServiceImplBase.class) public GRpcHeartBeatServiceImpl gRpcHeartBeatService(AgentConnectionTrackingService agentConnectionTrackingService, HeartBeatProperties properties, @Qualifier("heartBeatServiceTaskScheduler") org.springframework.scheduling.TaskScheduler taskScheduler, io.micrometer.core.instrument.MeterRegistry registry) Provide an implementation ofHeartBeatServiceGrpc.HeartBeatServiceImplBaseif no other is provided.- Parameters:
agentConnectionTrackingService- TheAgentConnectionTrackingServiceimplementation to useproperties- The service propertiestaskScheduler- TheTaskSchedulerinstance to useregistry- The meter registry- Returns:
- A
GRpcHeartBeatServiceImplinstance
-
gRpcJobKillService
@Bean @ConditionalOnMissingBean(com.netflix.genie.proto.JobKillServiceGrpc.JobKillServiceImplBase.class) public GRpcJobKillServiceImpl gRpcJobKillService(DataServices dataServices, AgentRoutingService agentRoutingService, RequestForwardingService requestForwardingService) Provide an implementation ofJobKillServiceGrpc.JobKillServiceImplBaseif no other is provided.- Parameters:
dataServices- TheDataServicesinstance to useagentRoutingService- TheAgentRoutingServiceinstance to use to find where agents are connectedrequestForwardingService- TheRequestForwardingServiceimplementation to use to forward requests to other Genie nodes- Returns:
- A
GRpcJobKillServiceImplinstance
-
gRpcJobService
@Bean @ConditionalOnMissingBean(com.netflix.genie.proto.JobServiceGrpc.JobServiceImplBase.class) public GRpcJobServiceImpl gRpcJobService(AgentJobService agentJobService, com.netflix.genie.common.internal.dtos.converters.JobServiceProtoConverter jobServiceProtoConverter, JobServiceProtoErrorComposer protoErrorComposer, io.micrometer.core.instrument.MeterRegistry meterRegistry) Provide an implementation ofJobServiceGrpc.JobServiceImplBaseif no other is provided.- Parameters:
agentJobService- TheAgentJobServiceinstance to usejobServiceProtoConverter- TheJobServiceProtoConverterinstance to useprotoErrorComposer- TheJobServiceProtoErrorComposerinstance to usemeterRegistry- The meter registry- Returns:
- A
GRpcJobServiceImplinstance
-
gRpcPingService
@Bean @ConditionalOnMissingBean(com.netflix.genie.proto.PingServiceGrpc.PingServiceImplBase.class) public GRpcPingServiceImpl gRpcPingService(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo) Provide an implementation ofPingServiceGrpc.PingServiceImplBaseif no other is provided.- Parameters:
genieHostInfo- The information about the Genie host- Returns:
- Instance of
GRpcPingServiceImpl
-