blob: ec33b03c69f3cbfa1c909d35d81975c30b9abe31 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content=
"text/html; charset=windows-1252">
<title>
DRL RMI Registry Service Provider for JNDI
</title>
<link rel="Stylesheet" type="text/css" media="all" href="../harmony.css">
</head>
<body>
<h1> <a name="top"></a>DRL RMI Registry Service Provider for JNDI </h1>
<p class="TOCHeading">
<a href="#Revision_History">Revision History</a>
</p>
<p class="TOCHeading">
<a href="#Disclaimer_and_Legal">Disclaimer and Legal Information</a>
</p>
<p class="TOCHeading">
<a href="#About_This_Document">About This Document</a>
</p>
<p class="TOC">
<a href="#Purpose">Purpose</a>
</p>
<p class="TOC">
<a href="#Intended_Audience">Intended Audience</a>
</p>
<p class="TOC">
<a href="#Documentation_Conventions">Documentation Conventions</a>
</p>
<p class="TOCHeading">
<a href="#overview">RMI Provider Overview</a>
</p>
<p class="TOCHeading">
<a href="#drl">RMI Provider in DRL</a>
</p>
<p class="TOC">
<a href="#about">About</a>
</p>
<p class="TOC">
<a href="#environment">Environment Properties</a>
</p>
<p class="TOC">
<a href="#urls">RMI URLs</a>
</p>
<p class="TOC">
<a href="#bindings">Binding Registry Contexts and Remote Objects</a>
</p>
<p class="TOCHeading">
<a href="#References">References</a>
</p>
<h1>
<a name="Revision_History"></a>Revision History
</h1>
<table border="0" cellpadding="0" width="100%">
<tr>
<td width="24%" class="TableHeading">
Version
</td>
<td width="49%" class="TableHeading">
Version Information
</td>
<td class="TableHeading">
Date
</td>
</tr>
<tr>
<td width="24%" class="TableCell">
Initial version
</td>
<td width="49%" class="TableCell">
Vasily Zakharov, Nadya Morozova: document created.
</td>
<td class="TableCell">
March 23, 2006
</td>
</tr>
</table>
<h1>
<a name="Disclaimer_and_Legal"></a>Disclaimer and Legal Information
</h1>
<p>
Copyright 2005-2006 The Apache Software Foundation or its licensors, as
applicable.
</p>
<p>
Licensed under the Apache License, Version 2.0 (the License); you may
not use this file except in compliance with the License. You may
obtain a copy of the License at <a href="http://www.apache.org/licenses/LICENSE-2.0">
http://www.apache.org/licenses/LICENSE-2.0</a>. </p>
<p>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an AS IS BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
</p>
<h1>
<a name="About_This_Document"></a>About This Document
</h1>
<h2>
<a name="Purpose"></a>Purpose
</h2>
<p> This document describes the functionality of the DRL RMI [<a href="#RMIspec">2</a>] Registry Service
Provider for JNDI [<a href="#Sunjndi">1</a>]. The document gives details on the provider design. </p>
<h2>
<a name="Intended_Audience"></a>Intended Audience
</h2>
<p> The target audience for the document includes a wide community of engineers
interested in using the RMI registry in their JNDI applications and in further
work with the product to contribute to its development. The document assumes
that readers are familiar with RMI, JNDI and the Java programming language.
</p>
<h2>
<a name="Documentation_Conventions"></a>Documentation Conventions
</h2>
<p> This document uses the <a href= "../conventions.htm"target=
"_blank">unified conventions</a> for the DRL documentation kit. </p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h1>
<a name="overview"></a>RMI Provider Overview
</h1>
<p> The RMI registry context, based on a registry location, and the RMI Registry
Service Provider allow JNDI applications to access remote objects bound in the
RMI registry, as described in the Java<a name="*">*</a> RMI Specification [<a href="#RMIspec">2</a>]. </p>
<p>
The provider supplies JNDI with the same essential functionality as
the <code>java.rmi.Naming</code> class does.
</p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h1> <a name="drl"></a>RMI Provider in DRL</h1>
<h2>
<a name="about"></a>About
</h2>
<p> The DRL RMI Service Provider is an independent implementation of the RMI Service Provider for JNDI.
You can also consult additional information resources on RMI [<a href="#RMIspec">2</a>], RMI Service Provider [<a href="#RMIprovider">3</a>] and JNDI in general [<a href="#Sunjndi">1</a>]. </p>
<p>The provider can store <code>java.rmi.Remote</code>, <code>javax.naming.Reference</code>
and <code>javax.naming.Referenceable</code> objects. The RMI registry context
and references to individual RMI objects can be bound into other JNDI contexts.
The DRL provider does not support binding other contexts into the RMI registry,
so that you cannot address objects in this context using composite name requests
through the registry. </p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h2>
<a name="environment"></a>Environment Properties
</h2>
<p> In addition to the general properties [<a href="#RMIprovider">3</a>], the DRL RMI Registry
Provider uses the following JNDI environment properties: </p>
<dl>
<dt>
<a name="prop_initial"></a>
<code>java.naming.factory.initial</code>
</dt>
<dd>
Specifies the RMI registry service provider class name as the
initial context factory to be used by the
<code>javax.naming.InitialContext</code> class.
<h3>
Example
</h3>
<pre>
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.harmony.jndi.provider.rmi.registry.RegistryContextFactory");
</pre>
Use this property with the <code>java.naming.provider.url
</code>property, which specifies the location of the RMI registry
for the usage of the initial context. Otherwise, the initial
context you created can only resolve complete RMI URLs.
</dd>
</dl>
<dl>
<dt> <a name="prop_socket"></a> <code>org.apache.harmony.jndi.provider.rmi.registry.clientSocketFactory</code>
</dt>
<dd> Can contain the name of a class implementing the<code> java.rmi.server.RMIClientSocketFactory</code>
interface. The instance of this class is passed to the <code>java.rmi.registry.LocateRegistry.getRegistry()</code>
method. </dd>
</dl>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h2>
<a name="urls"></a>RMI URLs
</h2>
<p> The URL context factory, <code>org.apache.harmony.jndi.provider.rmi.rmiURLContextFactory</code>,
enables passing RMI URLs as names to the JNDI initial context. </p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h2>
<a name="bindings"></a>Binding Registry Contexts and Remote Objects
</h2>
<p> The class <code>org.apache.harmony.jndi.provider.rmi.registry.</code><code>RegistryContextFactory</code>
implements the <code>javax.naming.spi.</code><code>ObjectFactory </code> interface
and provides converting registry references into the corresponding registry
contexts or remote objects. </p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<h1>
<a name="References"></a>References
</h1>
<p>
[<a name="Sunjndi">1</a>] Sun about JNDI, <a href=
"http://java.sun.com/j2se/1.5.0/docs/guide/jndi/" target=
"_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jndi/</a>
</p>
<p>
[<a name="RMIspec">2</a>] RMI Specification, <a href=
"http://java.sun.com/j2se/1.5.0/docs/guide/rmi/spec/rmiTOC.html" target=
"_blank">http://java.sun.com/j2se/1.5.0/docs/guide/rmi/spec/rmiTOC.html</a>
</p>
<p>
[<a name="RMIprovider">3</a>] Sun's RMI Provider, <a href=
"http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-rmi.html" target=
"_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-rmi.html</a>
</p>
<p class="backtotop">
<a href="#top">Back to Top</a>
</p>
<p>
<a name="*">*</a> Other brands and names are the property of their
respective owners.
</p>
</body>
</html>