Reputation: 1252
According to JackRabbit Oak official documentation, one of the ways of creating Repository
instance is to create a MicroKernel
object and pass it to JCR's
parameterized constructor like this:
MicroKernel kernel = ...;
Repository repository = new Jcr(kernel).createRepository();
But looking at the JCR class javadocs, i can't find any constructor which takes an object of type MicroKernel
.
So my questions is :
MicroKernel
in JackRabbit Oak(not
JackRabbit 2.0).Note: I want a repository which uses normal file system as the content storage medium.
Upvotes: 2
Views: 1315
Reputation: 10814
The documentations is unfortunately lagging behind in some areas. The MicroKernel
interface has been superseded by the NodeStore
interface in Oak.
For file system persistence you'd use the SegmentNodeStore
. Have a look at how the respective test cases set up the repository.
In a nutshell:
File directory = ...
NodeStore store = new FileStore(directory, 1, false);
Jcr jcr = new Jcr(new Oak(new SegmentNodeStore(store)));
Upvotes: 3
Reputation: 16354
Try to use the MicroKernelImpl
public no-arg constructor to create an in-memory kernel instance:
MicroKernel kernel = new MicroKernelImpl();
Repository repository = new Jcr(kernel).createRepository();
Alternativelly, you can use the OAK
class entry to create a Repository
:
MicroKernel kernel = new MicroKernelImpl();
Repository repo = new Oak(kernel).createRepository();
Upvotes: 1