-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat JBoss Data Virtualization
17.3. Loading Your Configuration from a File
The
modeshape-config.xml
file in SOA_ROOT/jboss-as/server/PROFILE/deploy/modeshape-services.jar
is used by default.
Here is an example configuration file used in the repository example covered in the ModeShape Getting Started Guide document, though it has been simplified for clarity:
<?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 JCR repositories --> <mode:repositories> <!-- Define a JCR repository that accesses the 'Cars' source directly. This of course is optional, since we could access the same content through 'vehicles'. --> <mode:repository jcr:name="car repository" mode:source="Cars"> <mode:options jcr:primaryType="mode:options"> <mode:option jcr:name="jaasLoginConfigName" mode:value="modeshape-jcr"/> </mode:options> <mode:descriptors> <!-- This adds a JCR Repository descriptor named "myDescriptor" with a value of "foo". So this code: Repository repo = ...; System.out.println(repo.getDescriptor("myDescriptor"); Will now print out "foo". --> <myDescriptor mode:value="foo" /> </mode:descriptors> <!-- Import the custom node types defined in the named files. The values can be an absolute path to a classpath resource, an absolute file system path, a relative path on the file system (relative to where the process was started from), or a resolvable URL. If more than one node type definition file is needed, the files can be listed as a single comma-delimited string in the 'mode:resource' attribute of the 'jcr:nodeTypes' element, or listed individually using multiple mode:resource child elements (as shown below). --> <jcr:nodeTypes> <mode:resource>/org/example/my-node-types.cnd</mode:resource> <mode:resource>/org/example/additional-node-types.cnd</mode:resource> </jcr:nodeTypes> </mode:repository> </mode:repositories> <!-- Define the sources for the content. These sources are directly accessible using the ModeShape-specific Graph API. --> <mode:sources jcr:primaryType="nt:unstructured"> <mode:source jcr:name="Cars" mode:classname="org.modeshape.graph.connector.inmemory.InMemoryRepositorySource" mode:retryLimit="3" mode:defaultWorkspaceName="workspace1"> <mode:predefinedWorkspaceNames>workspace2</mode:predefinedWorkspaceNames> <mode:predefinedWorkspaceNames>workspace3</mode:predefinedWorkspaceNames> </mode:source> </mode:sources> <!-- Define the sequencers. This is an optional section. For this example, we're not using any sequencers. --> <mode:sequencers> <!--mode:sequencer jcr:name="Image Sequencer"> <mode:classname> org.modeshape.sequencer.image.ImageMetadataSequencer </mode:classname> <mode:description>Image metadata sequencer</mode:description> <mode:pathExpression>/foo/source => /foo/target</mode:pathExpression> <mode:pathExpression>/bar/source => /bar/target</mode:pathExpression> </mode:sequencer--> </mode:sequencers> <mode:mimeTypeDetectors> <mode:mimeTypeDetector jcr:name="Detector" mode:description="Standard extension-based MIME type detector"/> </mode:mimeTypeDetectors> </configuration>
Note
This is the recommended approach if your application uses the standard and implementation-independent RepositoryFactory mechanism to obtain the JCR Repository reference.