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 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 of FileStreamServiceGrpc.FileStreamServiceImplBase if no other is provided.
      Parameters:
      converter - The JobDirectoryManifestProtoConverter instance to use
      taskScheduler - The TaskScheduler to use to schedule tasks
      properties - The service properties
      registry - 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 of HeartBeatServiceGrpc.HeartBeatServiceImplBase if no other is provided.
      Parameters:
      agentConnectionTrackingService - The AgentConnectionTrackingService implementation to use
      properties - The service properties
      taskScheduler - The TaskScheduler instance to use
      registry - The meter registry
      Returns:
      A GRpcHeartBeatServiceImpl instance
    • gRpcJobKillService

      @Bean @ConditionalOnMissingBean(com.netflix.genie.proto.JobKillServiceGrpc.JobKillServiceImplBase.class) public GRpcJobKillServiceImpl gRpcJobKillService(DataServices dataServices, AgentRoutingService agentRoutingService, RequestForwardingService requestForwardingService)
      Provide an implementation of JobKillServiceGrpc.JobKillServiceImplBase if no other is provided.
      Parameters:
      dataServices - The DataServices instance to use
      agentRoutingService - The AgentRoutingService instance to use to find where agents are connected
      requestForwardingService - The RequestForwardingService implementation to use to forward requests to other Genie nodes
      Returns:
      A GRpcJobKillServiceImpl instance
    • 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 of JobServiceGrpc.JobServiceImplBase if no other is provided.
      Parameters:
      agentJobService - The AgentJobService instance to use
      jobServiceProtoConverter - The JobServiceProtoConverter instance to use
      protoErrorComposer - The JobServiceProtoErrorComposer instance to use
      meterRegistry - The meter registry
      Returns:
      A GRpcJobServiceImpl instance
    • gRpcPingService

      @Bean @ConditionalOnMissingBean(com.netflix.genie.proto.PingServiceGrpc.PingServiceImplBase.class) public GRpcPingServiceImpl gRpcPingService(com.netflix.genie.common.internal.util.GenieHostInfo genieHostInfo)
      Provide an implementation of PingServiceGrpc.PingServiceImplBase if no other is provided.
      Parameters:
      genieHostInfo - The information about the Genie host
      Returns:
      Instance of GRpcPingServiceImpl