-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat JBoss Data Virtualization
5.3. Configuring a Disk Connector
One way to configure the file system connector is to create a
JcrConfiguration
instance with a repository source that uses the DiskSource
class. For example:
JcrConfiguration config = ... config.repositorySource("Disk Store") .usingClass(DiskSource.class) .setDescription("The repository for our content") .setProperty("repositoryRootPath", "/home/content/someApp") .setProperty("defaultWorkspaceName", "prod") .setProperty("predefinedWorkspaceNames", new String[] { "staging", "dev"}) .setProperty("rootNodeUuid", UUID.fromString("fd129c12-81a8-42ed-aa4b-820dba49e6f0") .setProperty("updatesAllowed", "true") .setProperty("creatingWorkspaceAllowed", "false");
Another way to configure the file system connector is to create a
JcrConfiguration
instance and load an XML configuration file that contains a repository source that uses the DiskSource
class. For example a file named configRepository.xml
can be created with these contents:
<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns:mode="http://www.modeshape.org/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"> <!-- Define the sources for the content. These sources are directly accessible using the ModeShape-specific Graph API. In fact, this is how the ModeShape JCR implementation works. You can think of these as being similar to JDBC DataSource objects, except that they expose graph content via the Graph API instead of records via SQL or JDBC. --> <mode:sources jcr:primaryType="nt:unstructured"> <!-- The 'Disk Store' repository is a disk source with a three predefined workspaces ("prod", "staging", and "dev"). --> <mode:source jcr:name="Disk Store" mode:classname="org.modeshape.connector.disk.DiskSource" mode:description="The repository for our content" mode:repositoryRootPath="/home/content/someApp" mode:defaultWorkspaceName="prod" mode:creatingWorkspacesAllowed="false" mode:rootNodeUuid="fd129c12-81a8-42ed-aa4b-820dba49e6f0" mode:updatesAllowed="true" > <mode:predefinedWorkspaceNames>staging</mode:predefinedWorkspaceNames> <mode:predefinedWorkspaceNames>dev</mode:predefinedWorkspaceNames> <!-- If desired, specify a cache policy that caches items in memory for 5 minutes (300 s). This fragment can be left out if the connector should not cache any content. --> <mode:cachePolicy jcr:name="nodeCachePolicy" mode:classname="org.modeshape.graph.connector.base.cache.InMemoryNodeCache$MapCachePolicy" mode:timeToLive="300" /> </mode:source> </mode:sources> <!-- MIME type detectors and JCR repositories would be defined below --> </configuration>
The configuration can then be loaded from Java like this:
JcrConfiguration config = new JcrConfiguration().loadFrom("/configRepository.xml");