Class NonBlockingRouterFactory

  • All Implemented Interfaces:
    com.github.ambry.router.RouterFactory

    public class NonBlockingRouterFactory
    extends java.lang.Object
    implements com.github.ambry.router.RouterFactory
    NonBlockingRouter specific implementation of RouterFactory.

    Sets up all the supporting cast required for the operation of NonBlockingRouter and returns a new instance on getRouter().

    • Constructor Summary

      Constructors 
      Constructor Description
      NonBlockingRouterFactory​(com.github.ambry.config.VerifiableProperties verifiableProperties, com.github.ambry.clustermap.ClusterMap clusterMap, com.github.ambry.notification.NotificationSystem notificationSystem, com.github.ambry.commons.SSLFactory sslFactory, com.github.ambry.account.AccountService accountService)
      Creates an instance of NonBlockingRouterFactory with the given verifiableProperties, clusterMap and notificationSystem.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.github.ambry.router.Router getRouter()
      Construct and return a NonBlockingRouter
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NonBlockingRouterFactory

        public NonBlockingRouterFactory​(com.github.ambry.config.VerifiableProperties verifiableProperties,
                                        com.github.ambry.clustermap.ClusterMap clusterMap,
                                        com.github.ambry.notification.NotificationSystem notificationSystem,
                                        com.github.ambry.commons.SSLFactory sslFactory,
                                        com.github.ambry.account.AccountService accountService)
                                 throws java.lang.Exception
        Creates an instance of NonBlockingRouterFactory with the given verifiableProperties, clusterMap and notificationSystem.
        Parameters:
        verifiableProperties - the in-memory properties to use to construct configurations.
        clusterMap - the ClusterMap to use to determine where operations should go.
        notificationSystem - the NotificationSystem to use to log operations.
        sslFactory - the SSLFactory to support SSL transmissions. Required if SSL is enabled for any datacenters.
        accountService - the AccountService to use.
        Throws:
        java.lang.Exception - if any of the arguments are null or if instantiation of KMS or CryptoService fails
    • Method Detail

      • getRouter

        public com.github.ambry.router.Router getRouter()
        Construct and return a NonBlockingRouter
        Specified by:
        getRouter in interface com.github.ambry.router.RouterFactory
        Returns:
        a NonBlockingRouter