Class LocalCluster.Builder

  • Enclosing class:
    LocalCluster

    public static class LocalCluster.Builder
    extends Object
    Simple way to configure a LocalCluster to meet your needs.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • withSupervisors

        public LocalCluster.Builder withSupervisors​(int supervisors)
        Set the number of supervisors the cluster should have.
      • withPortsPerSupervisor

        public LocalCluster.Builder withPortsPerSupervisor​(int portsPerSupervisor)
        Set the number of slots/ports each supervisor should have.
      • withSupervisorSlotPortMin

        public LocalCluster.Builder withSupervisorSlotPortMin​(Number minPort)
        When assigning ports to worker slots start at minPort.
      • withNimbusDaemon

        public LocalCluster.Builder withNimbusDaemon()
        Have the local nimbus actually launch a thrift server. This is intended to be used mostly for internal storm testing.
      • withNimbusDaemon

        public LocalCluster.Builder withNimbusDaemon​(Boolean nimbusDaemon)
        If nimbusDaemon is true the local nimbus will launch a thrift server. This is intended to be used mostly for internal storm testing.
      • withSimulatedTime

        public LocalCluster.Builder withSimulatedTime()
        Turn on simulated time in the cluster. This allows someone to simulate long periods of time for timeouts etc when testing nimbus/supervisors themselves. NOTE: that this only works for code that uses the Time class for time management so it will not work in all cases.
      • withSimulatedTime

        public LocalCluster.Builder withSimulatedTime​(boolean simulateTime)
        Turn on simulated time in the cluster. This allows someone to simulate long periods of time for timeouts etc when testing nimbus/supervisors themselves. NOTE: that this only works for code that uses the Time class for time management so it will not work in all cases.
      • withNimbusWrapper

        public LocalCluster.Builder withNimbusWrapper​(UnaryOperator<Nimbus> nimbusWrapper)
        Before nimbus is created/used call nimbusWrapper on it first and use the result instead. This is intended for internal testing only, and it here to allow a mocking framework to spy on the nimbus class.
      • withBlobStore

        public LocalCluster.Builder withBlobStore​(BlobStore store)
        Use the following blobstore instead of the one in the config. This is intended mostly for internal testing with Mocks.
      • withTopoCache

        public LocalCluster.Builder withTopoCache​(TopoCache topoCache)
        Use the following topo cache instead of creating out own. This is intended mostly for internal testing with Mocks.
      • withClusterState

        public LocalCluster.Builder withClusterState​(IStormClusterState clusterState)
        Use the following clusterState instead of the one in the config. This is intended mostly for internal testing with Mocks.
      • withLeaderElector

        public LocalCluster.Builder withLeaderElector​(ILeaderElector leaderElector)
        Use the following leaderElector instead of the one in the config. This is intended mostly for internal testing with Mocks.
      • withTracked

        public LocalCluster.Builder withTracked​(String trackId)
        A tracked cluster can run tracked topologies. See TrackedTopology for more information on tracked topologies.
        Parameters:
        trackId - an arbitrary unique id that is used to keep track of tracked topologies
      • build

        public LocalCluster build()
                           throws Exception
        Builds a new LocalCluster.
        Returns:
        the LocalCluster
        Throws:
        Exception - on any one of many different errors. This is intended for testing so yes it is ugly and throws Exception...