Package org.apache.storm
Class LocalCluster.Builder
- java.lang.Object
-
- org.apache.storm.LocalCluster.Builder
-
- Enclosing class:
- LocalCluster
public static class LocalCluster.Builder extends Object
Simple way to configure a LocalCluster to meet your needs.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocalClusterbuild()Builds a new LocalCluster.LocalCluster.BuilderwithBlobStore(BlobStore store)Use the following blobstore instead of the one in the config.LocalCluster.BuilderwithClusterState(IStormClusterState clusterState)Use the following clusterState instead of the one in the config.LocalCluster.BuilderwithDaemonConf(String key, Object value)Add an single key/value config to the daemon conf.LocalCluster.BuilderwithDaemonConf(Map<String,Object> conf)Set the base config that the daemons should use.LocalCluster.BuilderwithGroupMapper(IGroupMappingServiceProvider groupMapper)Override the code that maps users to groups for authorization.LocalCluster.BuilderwithINimbus(INimbus inimbus)Override the INimbus instance that nimbus will use.LocalCluster.BuilderwithLeaderElector(ILeaderElector leaderElector)Use the following leaderElector instead of the one in the config.LocalCluster.BuilderwithNimbusDaemon()Have the local nimbus actually launch a thrift server.LocalCluster.BuilderwithNimbusDaemon(Boolean nimbusDaemon)If nimbusDaemon is true the local nimbus will launch a thrift server.LocalCluster.BuilderwithNimbusWrapper(UnaryOperator<Nimbus> nimbusWrapper)Before nimbus is created/used call nimbusWrapper on it first and use the result instead.LocalCluster.BuilderwithPortsPerSupervisor(int portsPerSupervisor)Set the number of slots/ports each supervisor should have.LocalCluster.BuilderwithSimulatedTime()Turn on simulated time in the cluster.LocalCluster.BuilderwithSimulatedTime(boolean simulateTime)Turn on simulated time in the cluster.LocalCluster.BuilderwithSupervisors(int supervisors)Set the number of supervisors the cluster should have.LocalCluster.BuilderwithSupervisorSlotPortMin(Number minPort)When assigning ports to worker slots start at minPort.LocalCluster.BuilderwithTopoCache(TopoCache topoCache)Use the following topo cache instead of creating out own.LocalCluster.BuilderwithTracked()A tracked cluster can run tracked topologies.LocalCluster.BuilderwithTracked(String trackId)A tracked cluster can run tracked topologies.
-
-
-
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.
-
withDaemonConf
public LocalCluster.Builder withDaemonConf(Map<String,Object> conf)
Set the base config that the daemons should use.
-
withDaemonConf
public LocalCluster.Builder withDaemonConf(String key, Object value)
Add an single key/value config to the daemon conf.
-
withINimbus
public LocalCluster.Builder withINimbus(INimbus inimbus)
Override the INimbus instance that nimbus will use.
-
withGroupMapper
public LocalCluster.Builder withGroupMapper(IGroupMappingServiceProvider groupMapper)
Override the code that maps users to groups for authorization.
-
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 theTimeclass 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 theTimeclass 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. SeeTrackedTopologyfor more information on tracked topologies.- Parameters:
trackId- an arbitrary unique id that is used to keep track of tracked topologies
-
withTracked
public LocalCluster.Builder withTracked()
A tracked cluster can run tracked topologies. SeeTrackedTopologyfor more information on 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...
-
-