@Version(value="3.1.0")
See: Description
| Interface | Description |
|---|---|
| LocalAdapterFactory |
Factory interface for creating local adapters for remote references.
|
| Class | Description |
|---|---|
| BrokenRemoteRepository |
Dummy remote repository instance that throws a
RemoteException
whenever any method is invoked. |
| ClientAdapterFactory |
Default implementation of the
LocalAdapterFactory
interface. |
| ClientItem |
Local adapter for the JCR-RMI
RemoteItem
interface. |
| ClientItemDefinition |
Local adapter for the JCR-RMI
RemoteItemDefinition
interface. |
| ClientLock |
Local adapter for the JCR-RMI
RemoteLock
interface. |
| ClientLockManager | |
| ClientNamespaceRegistry |
Local adapter for the JCR-RMI
RemoteNamespaceRegistry
interface. |
| ClientNode |
Local adapter for the JCR-RMI
RemoteNode
interface. |
| ClientNodeDefinition |
Local adapter for the JCR-RMI
RemoteNodeDefinition
interface. |
| ClientNodeType |
Local adapter for the JCR-RMI
RemoteNodeType
interface. |
| ClientNodeTypeManager |
Local adapter for the JCR-RMI
RemoteNodeTypeManager
interface. |
| ClientObject |
Base class for client adapter objects.
|
| ClientObservationManager |
The
ClientObservationManager class |
| ClientProperty |
Local adapter for the JCR-RMI
RemoteProperty
interface. |
| ClientPropertyDefinition |
Local adapter for the JCR-RMI
RemotePropertyDefinition
interface. |
| ClientQuery |
Local adapter for the JCR-RMI
RemoteQuery
interface. |
| ClientQueryManager |
Local adapter for the JCR-RMI
RemoteQueryManager
interface. |
| ClientQueryResult |
Local adapter for the JCR-RMI
RemoteQueryResult
interface. |
| ClientRepository |
Local adapter for the JCR-RMI
RemoteRepository
interface. |
| ClientRepositoryFactory |
Object factory for JCR-RMI clients.
|
| ClientRow |
Local adapter for the JCR-RMI
RemoteRow
interface. |
| ClientSession |
Local adapter for the JCR-RMI
RemoteSession
interface. |
| ClientVersion |
Local adapter for the JCR-RMI
RemoteVersion
interface. |
| ClientVersionHistory |
Local adapter for the JCR-RMI
RemoteVersionHistory
interface. |
| ClientVersionManager | |
| ClientWorkspace |
Local adapter for the JCR-RMI
RemoteWorkspace
interface. |
| ClientXASession |
Local adapter for the JCR-RMI
RemoteXASession
interface. |
| SafeClientRepository |
A "safe" local adapter for the JCR-RMI
RemoteRepository
interface. |
| Exception | Description |
|---|---|
| RemoteRepositoryException |
JCR-RMI remote exception.
|
| RemoteRuntimeException |
JCR-RMI remote runtime exception.
|
This package contains the default client implementation of the transparent JCR-RMI layer. The classes in this package can be used to make a remote JCR-RMI service seem like a local JCR repository.
The contents of this package is designed using two design patterns, Factory and Adapter. All the ClientObject subclasses implement the Adapter pattern to adapt a remote JCR-RMI reference to the corresponding local JCR interface. The Factory pattern is used to centralize the creation and configuration of all adapter instances.
The ClientRepositoryFactory class provides a convenient mechanism for looking up a remote JCR-RMI repository. The factory can be used either directly or as a JNDI object factory.
The following example shows how to use the ClientRepositoryFactory directly:
String name = ...; // The RMI URL of the repository
ClientRepositoryFactory factory = new ClientRepositoryFactory();
Repository repository = factory.getRepository(name);
The ClientRepositoryFactory can also be used via JNDI. The following example settings and code demonstrate how to configure and use the transparent JCR-RMI layer in a Tomcat 5.5 web application:
context.xml:
<Resource name="jcr/Repository" auth="Container"
type="javax.jcr.Repository"
factory="org.apache.jackrabbit.rmi.client.ClientRepositoryFactory"
url="..."/>
web.xml:
<resource-env-ref>
<description>The external content repository</description>
<resource-env-ref-name>jcr/Repository</resource-env-ref-name>
<resource-env-ref-type>javac.jcr.Repository</resource-env-ref-type>
</resource-env-ref>
...SomeServlet.java:
Context initial = new InitialContext();
Context context = (Context) initial.lookup("java:comp/env");
Repository repository = (Repository) context.lookup("jcr/Repository");
Note that in the example above only the context.xml configuration file contains a direct references to the JCR-RMI layer. All other parts of the web application can be implemented using the standard JCR interfaces.
Copyright © 2004–2020 The Apache Software Foundation. All rights reserved.