Class JackrabbitRepositoryFixture
- java.lang.Object
-
- org.apache.jackrabbit.oak.fixture.JackrabbitRepositoryFixture
-
- All Implemented Interfaces:
RepositoryFixture
public class JackrabbitRepositoryFixture extends Object implements RepositoryFixture
-
-
Constructor Summary
Constructors Constructor Description JackrabbitRepositoryFixture(File base, int bundleCacheSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isAvailable(int n)
Checks whether this fixture is currently available.Repository[]
setUpCluster(int n)
Creates a new repository cluster with the given number of nodes.void
syncRepositoryCluster(Repository... nodes)
Ensures that all content changes seen by one of the given cluster nodes are seen also by all the other given nodes.void
tearDownCluster()
Releases resources associated with the given repository cluster.String
toString()
-
-
-
Constructor Detail
-
JackrabbitRepositoryFixture
public JackrabbitRepositoryFixture(File base, int bundleCacheSize)
-
-
Method Detail
-
isAvailable
public boolean isAvailable(int n)
Description copied from interface:RepositoryFixture
Checks whether this fixture is currently available. For example a database-based fixture would only be available when the underlying database service is running.- Specified by:
isAvailable
in interfaceRepositoryFixture
- Parameters:
n
- size of the requested cluster- Returns:
true
iff the fixture is available
-
setUpCluster
public Repository[] setUpCluster(int n) throws Exception
Description copied from interface:RepositoryFixture
Creates a new repository cluster with the given number of nodes. The initial state of the cluster consists of just the default repository content included by the implementation. The caller of this method should have exclusive access to the created cluster. The caller is also responsible for callingRepositoryFixture.tearDownCluster()
when the test cluster is no longer needed.- Specified by:
setUpCluster
in interfaceRepositoryFixture
- Parameters:
n
- size of the requested cluster- Returns:
- nodes of the created cluster
- Throws:
Exception
- if the cluster could not be set up
-
syncRepositoryCluster
public void syncRepositoryCluster(Repository... nodes)
Description copied from interface:RepositoryFixture
Ensures that all content changes seen by one of the given cluster nodes are seen also by all the other given nodes. Used to help testing features like eventual consistency where the normal APIs don't make strong enough guarantees to enable writing a test case without a potentially unbounded wait for changes to propagate across the cluster.- Specified by:
syncRepositoryCluster
in interfaceRepositoryFixture
- Parameters:
nodes
- cluster nodes to be synchronized
-
tearDownCluster
public void tearDownCluster()
Description copied from interface:RepositoryFixture
Releases resources associated with the given repository cluster. The caller ofRepositoryFixture.setUpCluster(int)
shall call this method once the cluster is no longer needed.- Specified by:
tearDownCluster
in interfaceRepositoryFixture
-
-