Skip to main content

Recipe: Barrier

Description​

An implementation of the Distributed Barrier ZK recipe.

Distributed systems use barriers to block processing of a set of nodes until a condition is met at which time all the nodes are allowed to proceed.

Participating Classes​

  • DistributedBarrier

Creating a DistributedBarrier​

// Parameters:
// client - client
// barrierPath - path to use as the barrier
public DistributedBarrier(CuratorFramework client, String barrierPath);

General Usage​

To wait on the barrier:

public void waitOnBarrier();

There are utilities for setting/removing the barrier:

setBarrier();
removeBarrier();

Error Handling​

DistributedBarrier instances watch for connection loss and will throw an exception from waitOnBarrier().