river-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peter_firmst...@apache.org
Subject svn commit: r1634322 [27/41] - in /river/jtsk/skunk/qa_refactor/trunk: qa/src/com/sun/jini/qa/harness/ qa/src/com/sun/jini/test/impl/end2end/e2etest/ qa/src/com/sun/jini/test/impl/joinmanager/ qa/src/com/sun/jini/test/impl/mahalo/ qa/src/com/sun/jini/t...
Date Sun, 26 Oct 2014 13:17:31 GMT
Modified: river/jtsk/skunk/qa_refactor/trunk/src-doc/static/release-notes/index.html
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src-doc/static/release-notes/index.html?rev=1634322&r1=1634321&r2=1634322&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/src-doc/static/release-notes/index.html (original)
+++ river/jtsk/skunk/qa_refactor/trunk/src-doc/static/release-notes/index.html Sun Oct 26 13:17:28 2014
@@ -38,979 +38,939 @@ secure, distributed systems which are ad
 If you would like to submit a bug against the Apache River release, please use the
 <a href="http://issues.apache.org/jira/browse/RIVER">River JIRA</a>.
 To discuss problems, questions, or suggestions on the release, please subscribe
-to the <code>river-dev</code> list from the <a href="http://incubator.apache.org/river/mailing.html">
+to the <code>river-dev</code> list from the <a href="http://river.apache.org/mailing-lists.html">
 project Mailing Lists</a> page.
 <hr>
 
-<!-- Start 2.2.0 Release Note -->
-
-<hr> 
-<h1>Release Notes - River 2.2.0</h1>
-<h2>Sub-task</h2>
-
-        Release Notes - River - Version River_2.2.0
-    
-<h2>        Sub-task
-</h2>
-<ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-374'>RIVER-374</a>] -         Review how LookupLocator is used to provide host and port details for LookupLocatorDiscovery
-</li>
-</ul>
-            
-<h2>        Bug
-</h2>
-<ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-11'>RIVER-11</a>] -         LookupLocatorDiscovery ignores new LookupLocator instances for which only constraints differ
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-170'>RIVER-170</a>] -         hello example ConfirmingILFactory assumes ClientHost.toString is useful
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-183'>RIVER-183</a>] -         clarify meaning of &quot;calls from the local host&quot;
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-287'>RIVER-287</a>] -         [PATCH] avoid race condition problems for taking snapshots
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-296'>RIVER-296</a>] -         Mahalo implementation throws CannotAbortException from abort() on an expired transaction
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-334'>RIVER-334</a>] -         jre 6 Policy issues
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-353'>RIVER-353</a>] -         VM sometimes crashes during build when executing jarwrapper
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-354'>RIVER-354</a>] -         TransactionManagerImpl.abort throws a NullPointerException when transaction is not found, where interface TransactionManager specifies an UnknownTransactionException to be thrown.
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-391'>RIVER-391</a>] -         Outrigger failure under stress
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-397'>RIVER-397</a>] -         Mux.start() can block indefinitely
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-142'>RIVER-142</a>] - concurrency problem in DGC lease expiration handling
-</li>
+<ul><a name="platform"><h2>Platform dependencies</h2></a>
+This release depends on new features included in version 6 of
+the <a href="http://docs.oracle.com/javase/6/docs/">Java(TM) 2 Platform,
+Standard Edition</a>. You should not expect to be able to use
+the source code or JAR files from this release with earlier versions
+of the Java platform. This requirement also extends to clients
+that dynamically download code from the services provided in this release.
 </ul>
-            
-<h2>        Improvement
-</h2>
+<hr>
+<ul><a name="platform_jars">
+<h2>Platform JAR files</h2></a>
+In this release we have extended our platform requirements to be
+more than just the Java 2 Platform, Standard Edition.
+<p>
+<dl>
+<dt><b><code>jsk-policy.jar</code></b>
+<dd>
+This JAR file contains a security policy provider,
+<a href="../api/net/jini/security/policy/DynamicPolicyProvider.html">
+<code>DynamicPolicyProvider</code></a>, that supports dynamic
+granting of permissions at run time. Although use of this policy provider
+is not required, its use is highly recommended when deploying secure
+applications and services. To permit effective use of this policy provider,
+it must first be installed as an extension in the Java 2 SDK (or JRE)
+that you will be using, as described in the
+<a href="../info-index.html#install">installation instructions</a>.
+This is the <i>only</i> JAR file that we recommend installing as an extension.
+<p>
+To use this provider, you need to define a <i>security</i> property
+(<i>not</i> a system property):
+<pre>
+policy.provider=net.jini.security.policy.DynamicPolicyProvider
+</pre>
+in some file (for example, named <code>security.properties</code>) and
+then define a <i>system</i> property:
+<pre>
+-Djava.security.properties=<var>path-to-file</var>/security.properties
+</pre>
+when running your application. If you are using a Java 2 SDK (or JRE)
+from a vendor other than Sun, you may also need to set a security property:
+<pre>
+net.jini.security.policy.PolicyFileProvider.basePolicyClass=<var>provider-class</var>
+</pre>
+in the same <code>security.properties</code> file, where
+<var>provider-class</var> is the vendor's default policy provider class,
+which typically can be found as the value of the <code>policy.provider</code>
+security property in the <code>jre/lib/security/java.security</code> file of
+the Java 2 SDK installation.
+<p><dt><b><code>jsk-platform.jar</code></b>
+<dd>
+This JAR file contains classes and interfaces that we have chosen to include
+in all of our applications, and have also chosen to assume are available
+in all other applications that receive objects from our applications.
+This JAR file primarily contains classes and interfaces that are typically
+referenced in:
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-92'>RIVER-92</a>] -         preferredlistgen warning messages during build are confusing
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-346'>RIVER-346</a>] -         Logging for QA tests is set to FINEST for many loggers by default . This should be changed to INFO.
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-349'>RIVER-349</a>] -         Setup separate Hudson job for QA testing
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-396'>RIVER-396</a>] -         PreferredClassProvider classloader cache concurrency improvement
-</li>
+<li><a href="http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Service Provider"><i>service provider</i></a> resources to control the configuration of
+<a href="../api/net/jini/loader/ClassLoading.html"><code>ClassLoading</code></a>,    
+<a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/server/RMIClassLoader.html"><code>RMIClassLoader</code></a>,
+<a href="../api/net/jini/security/TrustVerifier.html"><code>TrustVerifier</code></a>,
+<a href="../api/net/jini/security/IntegrityVerifier.html"><code>IntegrityVerifier</code></a>,
+<a href="../api/net/jini/export/ServerContext.html"><code>ServerContext</code></a>,
+and
+<a href="../api/com/sun/jini/discovery/DiscoveryFormatProvider.html"><code>DiscoveryFormatProvider</code></a>
+providers
+<li><a href="../api/net/jini/config/ConfigurationFile.html"><code>ConfigurationFile</code></a>
+source files, but which are unlikely to be referenced directly by the
+applications and services being configured (in particular, classes for
+creating
+<a href="../api/net/jini/export/Exporter.html"><code>Exporter</code></a> and
+<a href="../api/net/jini/security/ProxyPreparer.html"><code>ProxyPreparer</code></a>
+instances and their components)
+<li>dynamically downloaded code, but which we believe are not themselves
+reasonable to download (in particular, because they are needed to bootstrap
+proxy trust verification, or because their implementations require
+extraordinary permissions)
 </ul>
-    
-<h2>        New Feature
-</h2>
+plus all of the classes and interfaces that their implementations directly
+or indirectly depend on.
+<p>
+This JAR file contains all of the classes and interfaces in the
+following namespaces (including all subpackages):
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-338'>RIVER-338</a>] -         Integrate The Jini Surrogate Architecture
-</li>
+<li><code>net.jini.activation</code>
+<li><code>net.jini.config</code>
+<li><code>net.jini.constraint</code>
+<li><code>net.jini.core</code>
+<li><code>net.jini.export</code>
+<li><code>net.jini.id</code>
+<li><code>net.jini.iiop</code>
+<li><code>net.jini.io</code>
+<li><code>net.jini.jeri</code>
+<li><code>net.jini.jrmp</code>
+<li><code>net.jini.loader</code>
+<li><code>net.jini.security</code>
+<li><code>net.jini.url</code>
+<li><code>com.sun.jini.discovery</code>
 </ul>
-                        
-<h2>        Task
-</h2>
+plus the following classes:
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-301'>RIVER-301</a>] -         Move the QA framework donated by Sun inside the jtsk trunk and integrate into build process
-</li>
+<li><a href="../api/net/jini/discovery/ConstrainableLookupLocatorTrustVerifier.html"><code>ConstrainableLookupLocatorTrustVerifier</code></a>
+<li><a href="../api/com/sun/jini/config/KeyStores.html"><code>KeyStores</code></a>
+<li><a href="../api/com/sun/jini/config/ConfigUtil.html"><code>ConfigUtil</code></a>
+<li><a href="../api/com/sun/jini/logging/LogManager.html"><code>LogManager</code></a>
 </ul>
-        
-<h2>        Test
-</h2>
+Any other classes or interfaces found in this JAR file should be considered
+implementation details.
+<p>
+This JAR file includes a protocol handler for
+<a href="../api/net/jini/url/httpmd/package-summary.html">HTTPMD</a> URLs.
+To enable this handler, you need to specify the system property:
+<pre>
+-Djava.protocol.handler.pkgs=net.jini.url
+</pre>
+in any application that creates or receives such URLs. In particular,
+any service that uses an HTTPMD URL in its codebase, and any client
+that wants to download code from such a service, should set this
+system property.
+<p>
+It is important to understand that the contents of this JAR file do <i>not</i>
+constitute a "standard" platform; this JAR file is simply our choice of
+<i>a</i> platform likely to be useful for deployments of this release.
+Depending on your deployment requirements, you may want to alter the contents
+of this JAR file (but if you do so, you also might have to make changes to
+other JAR files).
+<p><dt><b><code>jsk-resources.jar</code></b>
+<dd>
+This JAR file is referenced in the <code>Class-Path</code> manifest attribute
+of <code>jsk-platform.jar</code>, and configures the following specific
+service providers to be used:
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-333'>RIVER-333</a>] -         Tested platforms
-</li>
-</ul>
-        
-<a name="changes">
-<h2>Changes by Component, updated for v2.2.0</h2></a>
-<h3>Services</h3>
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/server/RMIClassLoaderSpi.html">
+        <code>RMIClassLoader</code></a> and <a href="../api/net/jini/loader/ClassLoading.html">
+            <code>ClassLoading</code></a> providers:
 <ul>
-	<li><a href="reggie.html">Reggie</a>
-	<li><a href="mahalo.html">Mahalo</a>
-	<li><a href="outrigger.html">Outrigger</a>
+<li><a href="../api/net/jini/loader/pref/PreferredClassProvider.html"><code>PreferredClassProvider</code></a>
+<li><a href="../api/net/jini/loader/pref/RequireDlPermProvider.html"><code>RequireDlPermProvider</code></a>
 </ul>
-<h3>Jeri</h3>
+<li><a href="../api/net/jini/security/TrustVerifier.html"><code>TrustVerifier</code></a> providers:
 <ul>
-	<li><a href="jeri.html"><code>net.jini.jeri</code></a>
+<li><a href="../api/net/jini/constraint/ConstraintTrustVerifier.html"><code>ConstraintTrustVerifier</code></a>
+<li><a href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a>
+<li><a href="../api/net/jini/jeri/ssl/SslTrustVerifier.html"><code>SslTrustVerifier</code></a>
+<li><a href="../api/net/jini/jeri/kerberos/KerberosTrustVerifier.html"><code>KerberosTrustVerifier</code></a>
+<li><a href="../api/net/jini/security/proxytrust/ProxyTrustVerifier.html"><code>ProxyTrustVerifier</code></a>
+<li><a href="../api/net/jini/discovery/ConstrainableLookupLocatorTrustVerifier.html"><code>ConstrainableLookupLocatorTrustVerifier</code></a>
+<li><a href="../api/com/sun/jini/discovery/DiscoveryConstraintTrustVerifier.html"><code>DiscoveryConstraintTrustVerifier</code></a>
 </ul>
-<h3>Loader</h3>
+<li><a href="../api/net/jini/security/IntegrityVerifier.html"><code>IntegrityVerifier</code></a> providers:
 <ul>
-	<li><a href="loader.html"><code>net.jini.loader</code></a>
+<li><a href="../api/net/jini/url/httpmd/HttpmdIntegrityVerifier.html"><code>HttpmdIntegrityVerifier</code></a>
+<li><a href="../api/net/jini/url/https/HttpsIntegrityVerifier.html"><code>HttpsIntegrityVerifier</code></a>
+<li><a href="../api/net/jini/url/file/FileIntegrityVerifier.html"><code>FileIntegrityVerifier</code></a>
 </ul>
-<h3>Normal</h3>
+<li><a href="../api/net/jini/export/ServerContext.html"><code>ServerContext</code></a> providers:
 <ul>
-	<li><a href="norm.html"><code>com.sun.jini.norm</code></a>
+<li><a href="../api/net/jini/jrmp/JrmpServerContext.html"><code>JrmpServerContext</code></a>
 </ul>
-<h3>Other</h3>
+<li><a href="../api/com/sun/jini/discovery/DiscoveryFormatProvider.html"><code>DiscoveryFormatProvider</code></a>s for the following discovery formats:
 <ul>
-	<li><a href="security.html">Security</a>
-	<li><a href="comsunjiniexample.html"><code>com.sun.jini.example</code></a>
-	<li><a href="activation.html"><code>com.sun.jini.phoenix</code></a>
-	<li><a href="build.html">Build</a></li>
-	<li><a href="jinisurrogatearchitecture.html">Jini Surrogate Architecture</a></li>
+<li><code>net.jini.discovery.plaintext</code>
+<li><code>net.jini.discovery.ssl</code>
+<li><code>net.jini.discovery.kerberos</code>
+<li><code>net.jini.discovery.x500.SHA1withDSA</code>
+<li><code>net.jini.discovery.x500.SHA1withRSA</code>
 </ul>
-<hr>
-<ul><a name="platform"><h2>Platform dependencies</h2></a>
-This release depends on new features included in version 1.5 of
-the <a href="http://java.sun.com/j2se/1.5/">Java(TM) 2 Platform,
-Standard Edition</a>. You should not expect to be able to use
-the source code or JAR files from this release with earlier versions
-of the Java platform. This requirement also extends to clients
-that dynamically download code from the services provided in this release.
 </ul>
-<hr>
-
-<!-- End 2.2.0 Release Note -->
-
-<h2>Notes of Interest 2.1.2</h2>
-This second release from the Apache River project is based on the
-contributions of Sun's Jini Technology Starter Kit (Starter Kit) v2.1
-and Service UI from Artima.  The release focuses on merging the
-two contributions together, structuring separate src and bin releases,
-and amending the source and documentation naming/versioning/etc
-to the Apache River project.
+Depending on your deployment requirements, you may want to alter
+the contents of this JAR file to use different sets of providers.
+<p><dt><b><code>jsk-lib.jar</code></b>
+<dd>
+This JAR file is referenced in the <code>Class-Path</code> manifest attribute
+of many Apache River release implementation JAR files, and contains the utility
+APIs that are not tied to a specific service implementation.
 <p>
-Some points of note:
-<br>
+This JAR file contains all of the classes and interfaces in the
+following namespaces (including all subpackages):
 <ul>
-<li>NOTICE file and source license headers updated </li>
-<li>Source and documentation updated for release name ("Apache
-   River release") and version ("v2.1.2") </li>
-<li> Graphical installer (which was a 3rd party application in the
-Starter Kit) is no longer available</li>
-<li>The combined source and binary release in the Starter Kit has
-been separated into two releases:  src and bin </li>
-<li>The "logstore" implementation of com.sun.jini.outrigger.Store has
-been removed
-<p>
-   The persistent version of Outrigger relies on a pluggable persistence
-   layer, <code>com.sun.jini.outrigger.Store</code>. Previous releases
-   of the Starter Kit included two implementations of the Store interface,
-   <em>logstore</em> and <em>snaplogstore</em>. This release removes
-   logstore.
-<p>
-   Logstore has been around in various forms since the 1.0 version of
-   Outrigger. Snapstore was introduced in v2.1 of the Starter Kit.
+<li><code>net.jini.admin</code>
+<li><code>net.jini.discovery</code> excluding <code>ConstrainableLookupLocatorTrustVerifier</code> which is contained in <code>jsk-platform.jar</code>
+<li><code>net.jini.entry</code>
+<li><code>net.jini.event</code>
+<li><code>net.jini.lease</code>
+<li><code>net.jini.lookup</code>
+<li><code>net.jini.space</code>
+<li><code>com.sun.jini.admin</code>
+<li><code>com.sun.jini.landlord</code>
+<li><code>com.sun.jini.lease</code>
+<li><code>com.sun.jini.lookup.entry</code>
+<li><code>com.sun.jini.proxy</code>
+<li><code>com.sun.jini.resource</code>
+<li><code>com.sun.jini.thread</code>
+</ul>
+plus the following classes:
+<ul>
+<li><a href="../api/com/sun/jini/config/Config.html"><code>Config</code></a>
+<li><a href="../api/com/sun/jini/logging/Levels.html"><code>Levels</code></a>
+<li><a href="../api/com/sun/jini/phoenix/ActivationAdmin.html"><code>ActivationAdmin</code></a>
+<li><a href="../api/com/sun/jini/start/LifeCycle.html"><code>LifeCycle</code></a>
+<li><a href="../api/com/sun/jini/start/ServiceProxyAccessor.html"><code>ServiceProxyAccessor</code></a>
+</ul>
+Any other classes or interfaces found in this JAR file should be considered
+implementation details.
+<p><dt><b><code>jsk-dl.jar</code></b>
+<dd>
+The codebase JAR file for <code>jsk-lib.jar</code>. An application that includes
+<code>jsk-lib.jar</code> in its class-path may also need to include <code>jsk-dl.jar</code>
+in its codebase.
 <p>
-   The v2.0.n releases of the Starter Kit used logstore as the default Store
-    implementation, this release has no default Store. In order to switch an
-    existing set of configuration files, security policy files, etc., from using
-    logstore to snaplogstore, you will need to change the
-    <code>com.sun.jini.outrigger.store</code> configuration entry (or add a
-    store configuration entry if you don't already have one) to yield a
-    <code>com.sun.jini.outrigger.snaplogstore.LogStore</code> object. You
-    will also need to ensure that <code>outrigger-snaplogstore.jar</code> has
-    been granted sufficient permissions (see Outrigger's package documentation
-    for a sample security policy file.).
+This JAR file contains all of the classes and interfaces in the
+following namespaces (including all subpackages):
+<ul>
+<li><code>net.jini.admin</code>
+<li><code>net.jini.entry</code>
+<li><code>net.jini.event</code>
+<li><code>net.jini.lookup.entry</code> excluding <code>EntryBeans</code>
+<li><code>net.jini.space</code>
+<li><code>com.sun.jini.admin</code>
+<li><code>com.sun.jini.lease</code>
+<li><code>com.sun.jini.proxy</code>
+</ul>
+plus the following classes:
+<ul>
+<li><a href="../api/net/jini/discovery/LookupDiscoveryRegistration.html"><code>LookupDiscoveryRegistration</code></a>
+<li><a href="../api/net/jini/discovery/LookupDiscoveryService.html"><code>LookupDiscoveryService</code></a>
+<li><a href="../api/net/jini/discovery/LookupUnmarshalException.html"><code>LookupUnmarshalException</code></a>
+<li><a href="../api/net/jini/discovery/RemoteDiscoveryEvent.html"><code>RemoteDiscoveryEvent</code></a>
+<li><a href="../api/net/jini/lease/LeaseRenewalService.html"><code>LeaseRenewalService</code></a>
+<li><a href="../api/net/jini/lease/LeaseRenewalSet.html"><code>LeaseRenewalSet</code></a>
+<li><a href="../api/net/jini/lease/LeaseUnmarshalException.html"><code>LeaseUnmarshalException</code></a>
+<li><a href="../api/net/jini/lease/RenewalFailureEvent.html"><code>RenewalFailureEvent</code></a>
+<li><a href="../api/com/sun/jini/landlord/ConstrainableLandlordLease.html"><code>ConstrainableLandlordLease</code></a>
+<li><a href="../api/com/sun/jini/landlord/ConstrainableLandlordLeaseMap.html"><code>ConstrainableLandlordLeaseMap</code></a>
+<li><a href="../api/com/sun/jini/landlord/Landlord.html"><code>Landlord</code></a>
+<li><a href="../api/com/sun/jini/landlord/LandlordLease.html"><code>LandlordLease</code></a>
+<li><a href="../api/com/sun/jini/landlord/LandlordLeaseMap.html"><code>LandlordLeaseMap</code></a>
+<li><a href="../api/com/sun/jini/landlord/LandlordProxyVerifier.html"><code>LandlordProxyVerifier</code></a>
+<li><a href="../api/com/sun/jini/logging/Levels.html"><code>Levels</code></a>
+<li><a href="../api/com/sun/jini/lookup/entry/BasicServiceType.html"><code>BasicServiceType</code></a>
+<li><a href="../api/com/sun/jini/resource/ServiceConfigurationError.html"><code>ServiceConfigurationError</code></a>
+<li><a href="../api/com/sun/jini/start/ServiceProxyAccessor.html"><code>ServiceProxyAccessor</code></a>
+</ul>
+Any other classes or interfaces found in this JAR file should be considered
+implementation details.
+</dl>
+</ul>
+<ul><a name="starter_jars">
+<h2>Service Starter JAR files</h2></a>
+All of our services are designed to be run under the
+<a href="../api/com/sun/jini/start/package-summary.html">Service Starter</a>.
 <p>
-    Note that depending on the nature of your application snaplogstore can
-    have a significantly different performance profile than logstore.
+<dl>
+<dt><b><code>start.jar</code></b>
+<dd>This executable JAR file is the primary entry point for the
+Service Starter. It acts as both the class path for the container
+virtual machine (VM) for the Java platform that executes non-activatable 
+services, and as the
+setup VM for activatable services. It has a <code>Class-Path</code> manifest
+attribute that references <code>jsk-platform.jar</code>.
+<p><dt><b><code>sharedvm.jar</code></b>
+<dd>This JAR file is used as the class path for the activation group VM
+(the container VM for activatable services). It has a
+<code>Class-Path</code> manifest attribute that references both
+<code>jsk-platform.jar</code> and <code>phoenix-init.jar</code>.
+<p><dt><b><code>destroy.jar</code></b>
+<dd>This executable JAR file can be used to destroy an existing
+activation group and all of the activatable services registered
+in that group.
+<p><dt><b><code>group.jar</code></b>
+<dd>This JAR file contains the implementation of an activatable service
+used to destroy an existing activation group. It is typically used as
+the class path in a
+<a href="../api/com/sun/jini/start/SharedActivatableServiceDescriptor.html">
+<code>SharedActivatableServiceDescriptor</code></a> in a configuration file
+passed to <code>destroy.jar</code>.
+<p><dt><b><code>group-dl.jar</code></b>
+<dd>The codebase JAR file for <code>group.jar</code>, used in the same
+service descriptor as above for <code>group.jar</code>.
+</dl>
+</ul>
+<ul><a name="service_jars">
+<h2>Service JAR files</h2></a>
+There are two primary JAR files for each service, a service JAR file with
+a name of the form <code><var>service</var>.jar</code>, and a codebase JAR
+file with a name of the form <code><var>service</var>-dl.jar</code>.
+The service JAR file contains the service implementation itself, and
+can be thought of as the <i>class path</i> for the service. The
+service JAR file generally contains three versions of the service:
+a transient (non-activatable, non-persistent) version; a non-activatable,
+persistent version; and an activatable, persistent version. In this release,
+Mahalo and Mercury do not yet provide transient versions. The service
+JAR file is designed to be run under the Service Starter, and as such
+is not directly executable.
+The service JAR file's <code>Class-Path</code>
+manifest attribute refers to <code>jsk-lib.jar</code>.
+The codebase JAR file is used as the
+<i>codebase annotation</i> for the service; it contains classes and interfaces
+that are used by the service's proxies and trust verifiers, and that clients
+need to dynamically download. The codebase JAR file also contains a
+<a href="../api/net/jini/loader/pref/package-summary.html">
+<i>preferred list</i></a> for use by clients that have the
+<a href="../api/net/jini/loader/pref/PreferredClassProvider.html">
+<code>PreferredClassProvider</code></a> enabled.
+The codebase JAR file does not include any of the classes or interfaces found
+in <code>jsk-dl.jar</code> therefore <code>jsk-dl.jar</code> must be included
+in the service's codebase annotation. The codebase JAR should come first in
+the codebase annotation, so that its preferred list is obeyed, rather than the
+one in <code>jsk-dl.jar</code>.
+Neither the service JAR file nor the codebase JAR file include any of the
+classes or interfaces found in <code>jsk-platform.jar</code>: the Service
+Starter container (either <code>start.jar</code> or <code>sharedvm.jar</code>)
+provides these classes for the service implementation, and clients are
+expected to have <code>jsk-platform.jar</code> in their class path.
 <p>
-    The storage formats used by snaplogstore and logstore are mutually
-    incompatible.
- </li>
+<dl>
+<dt><b><code>fiddler.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/fiddler/package-summary.html">Fiddler</a> implementation of the lookup discovery service.
+<p><dt><b><code>fiddler-dl.jar</code></b>
+<dd>The codebase JAR file for Fiddler.
+<p><dt><b><code>mahalo.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/mahalo/package-summary.html">Mahalo</a> implementation of the transaction manager service.
+<p><dt><b><code>mahalo-dl.jar</code></b>
+<dd>The codebase JAR file for Mahalo.
+<p><dt><b><code>mercury.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/mercury/package-summary.html">Mercury</a> implementation of the event mailbox service.
+<p><dt><b><code>mercury-dl.jar</code></b>
+<dd>The codebase JAR file for Mercury.
+<p><dt><b><code>norm.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/norm/package-summary.html">Norm</a> implementation of the lease renewal service.
+<p><dt><b><code>norm-dl.jar</code></b>
+<dd>The codebase JAR file for Norm.
+<p><dt><b><code>outrigger.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/outrigger/package-summary.html">Outrigger</a> implementation of the JavaSpaces service.
+<p><dt><b><code>outrigger-dl.jar</code></b>
+<dd>The codebase JAR file for Outrigger.
+<p><dt><b><code>reggie.jar</code></b>
+<dd>The service JAR file for the <a href="../api/com/sun/jini/reggie/package-summary.html">Reggie</a> implementation of the lookup service.
+<p><dt><b><code>reggie-dl.jar</code></b>
+<dd>The codebase JAR file for Reggie.
+</dl>
 </ul>
-
-
-<h2>Upcoming Changes planned for the next version of Apache River</h2>
-<li>All packages ouside of the net.jini namespace will be 
-renamed to org.apache.river.</li>
-<li>Support for Java 5 language features</li>
-<li>Support for Modular Frameworks conforming to the OSGi r4.2 core Specification</li>
-<hr>    
-<h2>Changes made since Apache River v2.1.1</h2>
-<h2>        Bug
-</h2>
-<ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-5'>RIVER-5</a>] - 
-HTTMPMD URLs can be considered equal while they are not
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-8'>RIVER-8</a>] -         
-com.sun.jini.tool.ClassDep empty inside collection doesn't work
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-17'>RIVER-17</a>] -         
-Misleading logging message when discovery constraint checking is delayed
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-18'>RIVER-18</a>] -         
-Order of discovery providers not maintained
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-22'>RIVER-22</a>] -         
-NPE in net.jini.jeri.tcp.TcpEndpoint$ConnectionImpl.checkConnectPermission
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-24'>RIVER-24</a>] -         
-PreferredListGen can create illegal PREFERRED.LIST
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-78'>RIVER-78</a>] -         
-ClassDep generates duplicate output lines
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-82'>RIVER-82</a>] -         
-ClassDep generates duplicate output lines
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-91'>RIVER-91</a>] -         
-Uninstaller does not remove all items
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-205'>RIVER-205</a>] -         
-LookupDiscovery can give untrusted code access to privileged threads
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-209'>RIVER-209</a>] -         
-NullPointerException in SslConnection.checkConnectPermission()
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-212'>RIVER-212</a>] -         
-use of &quot;enum&quot; as a variable name
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-213'>RIVER-213</a>] -         
-(DOC) - JoinManger has typo in javadoc (missing &lt;/code&gt; termination tag)
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-215'>RIVER-215</a>] -         
-LookupDiscovery throws NullPointerException on terminate
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-216'>RIVER-216</a>] -         
-ConfigurationFile should throw ExceptionInInitializerError if unable to read 
-prohibited methods
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-217'>RIVER-217</a>] -         
-Browser incorrectly assumes event source is ServiceRegistrar proxy
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-223'>RIVER-223</a>] -         
-test: jtreg/net/jini/jeri/tcp/connectTimeout/TestConnectTimeout fails on Linux
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-224'>RIVER-224</a>] -         
-Problem using browser to destroy service that supports DestroyAdmin but not 
-JoinAdmin
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-225'>RIVER-225</a>] -         
-NullPointerException in Reggie during destroy
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-227'>RIVER-227</a>] -         
-tools manpages command lines do not include line continuation characters
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-230'>RIVER-230</a>] -         
-(mux) SelectionManager catch Error block assumes getMessage() returns non-null
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-232'>RIVER-232</a>] -         
-JarWrapper and PreferredListGen uses jsk_install_dir and install_dir
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-234'>RIVER-234</a>] -         
-(DOC) Fiddler manpage directions for HTTP server should reference 
-classserver.jar, not tools.jar
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-240'>RIVER-240</a>] -         
-BasicInvocationDispatcher.dispatch could log more info for some exceptions
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-241'>RIVER-241</a>] -         
-Mercury spelling errore
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-242'>RIVER-242</a>] -         
-if a given ConnectionManager instance cannot create a reaper thread once, 
-it never will again
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-245'>RIVER-245</a>] -         
-Unicast discovery should close socket in case of connection exception.
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-252'>RIVER-252</a>] -         
-ComputeHttpmdCodebase NPE if resource bundle not found
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-253'>RIVER-253</a>] -         
-ComputeDigest NPE if resource bundle not found
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-254'>RIVER-254</a>] -         
-request initiation can block on I/O for inapplicable connection
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-255'>RIVER-255</a>] -         
-Outrigger DestroyThread does not catch exceptions from exporter.unexport
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-284'>RIVER-284</a>] -         
-[PATCH] fix bad ParticipantHandle.compareTo 
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-286'>RIVER-286</a>] -         
-[PATCH] iterators on synchronized collections still need synchronization
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-289'>RIVER-289</a>] -         
-Fix for RIVER-247 introduced wrong license headers and references
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-298'>RIVER-298</a>] -         
-No JavaDocs generated for package &quot;com.sun.jini.reliableLog&quot;
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-302'>RIVER-302</a>] -         
-ClassDep -newdirbehaviour option does not work
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-305'>RIVER-305</a>] -         
-qa/GetPermissions test still uses &quot;enum&quot; keyword
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-320'>RIVER-320</a>] -         
-Prebuilt hello example certificates have expired - need to provide new ones 
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-324'>RIVER-324</a>] -         
-Under certain circumstances, the ServiceDiscoveryManager internal LookupCache 
-implementation can incorrectly  process attribute change events before the 
-lookup snapshot is processed.
-</li>
+<ul><a name="activation_jars">
+<h2>Activation JAR files</h2></a>
+This release contains a configurable Java Remote Method Invocation
+(Java RMI) activation system daemon implementation named
+<a href="../api/com/sun/jini/phoenix/package-summary.html">Phoenix</a>
+that we recommend using instead of <code>rmid</code> when deploying
+activatable versions of services.
+<p>
+<dl>
+<dt><b><code>phoenix.jar</code></b>
+<dd>This executable JAR file is used to run Phoenix.
+<p><dt><b><code>phoenix-dl.jar</code></b>
+<dd>The codebase JAR file for Phoenix. Unlike <code>rmid</code>,
+Phoenix <i>requires</i> clients to dynamically download code.
+<p><dt><b><code>phoenix-init.jar</code></b>
+<dd>This JAR file (or its contents) must be included in the class path of any
+activation group VM that is created by Phoenix to run activatable objects.
+<p><dt><b><code>phoenix-group.jar</code></b>
+<dd>This JAR file contains the default <code>ActivationGroup</code>
+implementation for Phoenix. Normally it is not referenced explicitly,
+but is instead loaded automatically from the same directory as
+<code>phoenix.jar</code>.
+</dl>
+</ul>
+<ul><a name="tools_jars">
+<h2>Tools JAR files</h2></a>
+<dl>
+<dt><b><code>tools.jar</code></b>
+<dd>This JAR file contains <a href="../manpages-index.html#tools">tools</a> for:
+checking configuration files; checking for missing
+<code>serialVersionUID</code> fields; computing class dependencies;
+providing HTTP service; generating message digests; generating HTTPMD URLs;
+examining the run-time environment of a River component;
+generating wrapper JAR files; and generating preferred lists. 
+When used as an executable JAR file, it runs the
+<a href="../api/com/sun/jini/tool/ClassServer.html">
+ClassServer</a>.
+<p><dt><b><code>checkconfigurationfile.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/CheckConfigurationFile.html">CheckConfigurationFile</a>.
+<p><dt><b><code>checkser.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/CheckSer.html">CheckSer</a>.
+<p><dt><b><code>classdep.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ClassDep.html">ClassDep</a>.
+<p><dt><b><code>classserver.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ClassServer.html">ClassServer</a>.
+<p><dt><b><code>computedigest.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ComputeDigest.html">ComputeDigest</a>.
+<p><dt><b><code>computehttpmdcodebase.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ComputeHttpmdCodebase.html">ComputeHttpmdCodebase</a>.
+<p><dt><b><code>envcheck.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/envcheck/EnvCheck.html">EnvCheck</a>.
+<p><dt><b><code>jarwrapper.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/JarWrapper.html">JarWrapper</a>.
+<p><dt><b><code>preferredlistgen.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/PreferredListGen.html">PreferredListGen</a>.
+<p><dt><b><code>browser.jar</code></b>
+<dd>This executable JAR file is used to run the example
+<a href="../api/com/sun/jini/example/browser/package-summary.html">Service
+Browser</a>.
+<p><dt><b><code>browser-dl.jar</code></b>
+<dd>The codebase JAR file for the Service Browser.
+</dl>
+</ul>
+<ul><a name="persistent_outrigger_jars">
+<h2>Persistent Outrigger JAR files</h2></a>
+<dl>
+<p><dt><b><code>outrigger-logstore.jar</code></b>
+<dd>A secondary JAR file referenced by the <code>Class-Path</code> manifest
+attribute of <code>outrigger.jar</code>, containing classes for the default
+storage implementation used by the persistent versions of Outrigger. In
+practice you should not need to refer directly to this JAR file.
+<p><dt><b><code>prebuilt-outrigger-logstore.jar</code></b>
+<dd>A secondary JAR file containing specially postprocessed classes in
+<code>outrigger-logstore.jar</code>. This JAR file is never used at runtime,
+it is only used if you attempt to rebuild the Apache River release from sources and
+do not have the necessary ObjectStore PSE Pro for Java postprocessor tool.
+In practice you should not need to refer directly to this JAR file.
+</dl>
+</ul>
+<hr>
+<ul><a name="javadoc">
+<h2>Note on the API documentation</h2></a>
+The on-line API documentation (generated by the
+Javadoc(TM) tool) provided in this release does not include
+every class and interface in the <code>com.sun.jini</code> packages.
+This omission was intentional; we only produced on-line API documentation
+for the classes and interfaces that we think might be important or useful
+to you. However, almost all of our classes and interfaces have
+documentation comments, so if you wish, you can produce
+API documentation for them yourself.
 </ul>
+
+<!-- Start 2.2.0 Release Note -->
+
+<hr> 
+<h1>Release Notes - River 2.2.0</h1>
+<h2>Sub-task</h2>
+
+        Release Notes - River - Version River_2.2.0
     
-<h2>        Improvement
+<h2>        Sub-task
 </h2>
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-7'>RIVER-7</a>] -         
-com.sun.jini.tool.ClassDep should be smarter with outer classes
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-9'>RIVER-9</a>] -         
-PreferredClassLoader should try to avoid making a direct check against the 
-first URL
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-25'>RIVER-25</a>] -         
-Improve logging for JoinManager at INFO and WARNING level
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-115'>RIVER-115</a>] -         
-Multiple jar files with conflicting lists need facilities to map the chosen 
-preferred value
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-116'>RIVER-116</a>] -         
-Multiple jar files with conflicting lists need facilities to map the chosen 
-preferred value
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-160'>RIVER-160</a>] -         
-add TrustEquivalence to browser's list of uninterestingInterfaces
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-201'>RIVER-201</a>] -         
-Show interfaces rather than classes in browser's Matching Services pane.
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-374'>RIVER-374</a>] -         Review how LookupLocator is used to provide host and port details for LookupLocatorDiscovery
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-206'>RIVER-206</a>] -         
-Change default load factors from 3 to 1
+</ul>
+            
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-11'>RIVER-11</a>] -         LookupLocatorDiscovery ignores new LookupLocator instances for which only constraints differ
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-210'>RIVER-210</a>] -         
-Browser should cancel event lease on exit
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-170'>RIVER-170</a>] -         hello example ConfirmingILFactory assumes ClientHost.toString is useful
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-220'>RIVER-220</a>] -         
-LookupLocatorDiscovery catch Throwable blocks should also catch Throwable
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-183'>RIVER-183</a>] -         clarify meaning of &quot;calls from the local host&quot;
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-226'>RIVER-226</a>] -         
-LLD: consider delaying the queuing of a discovery request immediately after a 
-discard
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-287'>RIVER-287</a>] -         [PATCH] avoid race condition problems for taking snapshots
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-229'>RIVER-229</a>] -         
-reduce number of Reaper threads created by ConnectionManager
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-296'>RIVER-296</a>] -         Mahalo implementation throws CannotAbortException from abort() on an expired transaction
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-231'>RIVER-231</a>] -         
-ComputeHttpmdCodebase man page could be clarified with respect to algorithm used
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-334'>RIVER-334</a>] -         jre 6 Policy issues
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-233'>RIVER-233</a>] -         
-ComputeDigest instructions reference sha and sha1
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-353'>RIVER-353</a>] -         VM sometimes crashes during build when executing jarwrapper
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-243'>RIVER-243</a>] -         
-JarWrapper javadoc could be clearer wrt to classpath manifests
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-354'>RIVER-354</a>] -         TransactionManagerImpl.abort throws a NullPointerException when transaction is not found, where interface TransactionManager specifies an UnknownTransactionException to be thrown.
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-244'>RIVER-244</a>] -         
-Text area below menu bar in ServiceBrowser should not be editable
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-391'>RIVER-391</a>] -         Outrigger failure under stress
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-246'>RIVER-246</a>] -         
-Consider adding shutdown hook so Reggie sends final multicast packet if its VM 
-is terminated
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-397'>RIVER-397</a>] -         Mux.start() can block indefinitely
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-247'>RIVER-247</a>] -         
-Destroy processing should use configurable duration and interval for unexporting
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-142'>RIVER-142</a>] - concurrency problem in DGC lease expiration handling
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-256'>RIVER-256</a>] -         
-Outrigger catch Throwable blocks should also catch Throwable
+</ul>
+            
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-92'>RIVER-92</a>] -         preferredlistgen warning messages during build are confusing
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-262'>RIVER-262</a>] -         
-ServiceUI Specification
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-346'>RIVER-346</a>] -         Logging for QA tests is set to FINEST for many loggers by default . This should be changed to INFO.
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-270'>RIVER-270</a>] -         
-tar tasks in release* ant targets fail due to 100-char limitation and are 
-disabled
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-349'>RIVER-349</a>] -         Setup separate Hudson job for QA testing
 </li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-285'>RIVER-285</a>] -         
-LookupDiscoveryManager has unused variable declarations
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-396'>RIVER-396</a>] -         PreferredClassProvider classloader cache concurrency improvement
 </li>
 </ul>
     
 <h2>        New Feature
 </h2>
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-151'>RIVER-151</a>] -         
-ClassDep should have a method to determine if problems occurred
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-161'>RIVER-161</a>] -         
-Coalesce jars from multiple source dirs while retain current Manifest Classpath 
-semantics
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-163'>RIVER-163</a>] -         
-ClassDep doesn't pick up annotation or type parameter dependencies
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-292'>RIVER-292</a>] -         
-The service browser should provide support for the ServiceUI support
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-295'>RIVER-295</a>] -         
-Support configurable option to prevent from popup windows that require a 
-confirmation by the user
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-338'>RIVER-338</a>] -         Integrate The Jini Surrogate Architecture
 </li>
 </ul>
-                
+                        
 <h2>        Task
 </h2>
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-294'>RIVER-294</a>] -         
-Remove http://svn.apache.org/repos/asf/incubator/river/trunk/ from the SVN 
-repository
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-301'>RIVER-301</a>] -         Move the QA framework donated by Sun inside the jtsk trunk and integrate into build process
 </li>
 </ul>
-            
+        
 <h2>        Test
 </h2>
 <ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-291'>RIVER-291</a>] -         
-Cannot build QA tests using the supplied make files
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-333'>RIVER-333</a>] -         Tested platforms
 </li>
 </ul>
-    <hr>
-    
-    <h2>Changes made since JTSK v2.1</h2>
         
-<h2>        Bug
-</h2>
-<ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-211'>RIVER-211</a>] -         
-source files for ServiceItem, ServiceMatches, and ServiceTemplate do not match 
-binary distribution
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-269'>RIVER-269</a>] -         
-build reports problem with javadoc generation on Windows
-</li>
-</ul>
-                        
-<h2>        Task
-</h2>
-<ul>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-263'>RIVER-263</a>] -         
-Remove outrigger logstore sources and build support
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-264'>RIVER-264</a>] -         
-integrate serviceui sources into jtsk trunk
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-266'>RIVER-266</a>] -         
-update build and source code for name, version number, ...
-</li>
-<li>[<a href='https://issues.apache.org/jira/browse/RIVER-267'>RIVER-267</a>] -         
-Documentation update in release
-</li>
-</ul>
-<hr>
-                
-                <h2>Release notes from the Jini Technology Starter Kit v2.1</h2>
-<ul>
-        <li><a href=new.html>What's new in v2.1?</a>  
-        <li><a href="bugfixes.html">Bugs fixed between v2.0.1 and v2.0.2 releases</a>
-        <li><a href=#changes>Changes since the v2.0.1 release</a>
-	<li><a href=#platform>Platform dependencies</a>
-	<li>JAR file structure
-	<ul>
-		<li><a href=#platform_jars>Platform JAR files</a>
-		<li><a href=#starter_jars>Service Starter JAR files</a>
-		<li><a href=#service_jars>Service JAR files</a>
-		<li><a href=#activation_jars>Activation JAR files</a>
-		<li><a href=#tools_jars>Tools JAR files</a>
-		<li><a href=#persistent_outrigger_jars>Persistent Outrigger JAR files</a>
-		<li><a href=#deprecated_jars>Deprecated JAR files</a>
-	</ul>
-	<li><a href=#javadoc>Note on the API documentation</a>
-</ul>
 <a name="changes">
-<h2>Changes by Component, updated for v2.1.2</h2></a>
+<h2>Changes by Component, updated for v2.2.0</h2></a>
 <h3>Services</h3>
 <ul>
 	<li><a href="reggie.html">Reggie</a>
 	<li><a href="mahalo.html">Mahalo</a>
-	<li><a href="norm.html">Norm</a>
-	<li><a href="mercury.html">Mercury</a>
-	<li><a href="fiddler.html">Fiddler</a>
 	<li><a href="outrigger.html">Outrigger</a>
 </ul>
-<h3>Utilities</h3>
+<h3>Jeri</h3>
 <ul>
-	<li><a href="discovery.html">Discovery Utilities</a>
-	<li><a href="netjinientry.html">Entry Utilities</a>
-	<li><a href="join.html">Join Utilities</a>
-	<li><a href="lease.html">Lease Utilities</a>
-	<li><a href="servicediscovery.html">Service Discovery Utilities</a>
+	<li><a href="jeri.html"><code>net.jini.jeri</code></a>
 </ul>
-<h3>Tools</h3>
+<h3>Loader</h3>
+<ul>
+	<li><a href="loader.html"><code>net.jini.loader</code></a>
+</ul>
+<h3>Normal</h3>
 <ul>
-	<li><a href="browser.html">ServiceBrowser</a>
-	<li><a href="classdep.html"><code>ClassDep</code></a>
-	<li><a href="classserver.html"><code>ClassServer</code></a>
-	<li><a href="servicestarter.html"><code>ServiceStarter</code></a>
+	<li><a href="norm.html"><code>com.sun.jini.norm</code></a>
 </ul>
 <h3>Other</h3>
 <ul>
-	<li><a href="jeri.html">Jini extensible remote invocation (Jini ERI)</a>
-	<li><a href="loader.html">Class loader</a>
 	<li><a href="security.html">Security</a>
-	<li><a href="activate.html">Activation</a>
-	<li><a href="comsunjinithread.html"><code>com.sun.jini.thread</code></a>
+	<li><a href="comsunjiniexample.html"><code>com.sun.jini.example</code></a>
+	<li><a href="activation.html"><code>com.sun.jini.phoenix</code></a>
+	<li><a href="build.html">Build</a></li>
+	<li><a href="jinisurrogatearchitecture.html">Jini Surrogate Architecture</a></li>
 </ul>
 <hr>
 <ul><a name="platform"><h2>Platform dependencies</h2></a>
-This release depends on new features included in version 1.4 of
-the <a href="http://java.sun.com/j2se/1.4/">Java(TM) 2 Platform,
+This release depends on new features included in version 1.5 of
+the <a href="http://java.sun.com/j2se/1.5/">Java(TM) 2 Platform,
 Standard Edition</a>. You should not expect to be able to use
 the source code or JAR files from this release with earlier versions
 of the Java platform. This requirement also extends to clients
 that dynamically download code from the services provided in this release.
 </ul>
 <hr>
-<ul><a name="platform_jars">
-<h2>Platform JAR files</h2></a>
-In this release we have extended our platform requirements to be
-more than just the Java 2 Platform, Standard Edition.
-<p>
-<dl>
-<dt><b><code>jsk-policy.jar</code></b>
-<dd>
-This JAR file contains a security policy provider,
-<a href="../api/net/jini/security/policy/DynamicPolicyProvider.html">
-<code>DynamicPolicyProvider</code></a>, that supports dynamic
-granting of permissions at run time. Although use of this policy provider
-is not required, its use is highly recommended when deploying secure
-applications and services. To permit effective use of this policy provider,
-it must first be installed as an extension in the Java 2 SDK (or JRE)
-that you will be using, as described in the
-<a href="../info-index.html#install">installation instructions</a>.
-This is the <i>only</i> JAR file that we recommend installing as an extension.
+
+<!-- End 2.2.0 Release Note -->
+
+<h2>Notes of Interest 2.1.2</h2>
+This second release from the Apache River project is based on the
+contributions of Sun's Jini Technology Starter Kit (Starter Kit) v2.1
+and Service UI from Artima.  The release focuses on merging the
+two contributions together, structuring separate src and bin releases,
+and amending the source and documentation naming/versioning/etc
+to the Apache River project.
 <p>
-To use this provider, you need to define a <i>security</i> property
-(<i>not</i> a system property):
-<pre>
-policy.provider=net.jini.security.policy.DynamicPolicyProvider
-</pre>
-in some file (for example, named <code>security.properties</code>) and
-then define a <i>system</i> property:
-<pre>
--Djava.security.properties=<var>path-to-file</var>/security.properties
-</pre>
-when running your application. If you are using a Java 2 SDK (or JRE)
-from a vendor other than Sun, you may also need to set a security property:
-<pre>
-net.jini.security.policy.PolicyFileProvider.basePolicyClass=<var>provider-class</var>
-</pre>
-in the same <code>security.properties</code> file, where
-<var>provider-class</var> is the vendor's default policy provider class,
-which typically can be found as the value of the <code>policy.provider</code>
-security property in the <code>jre/lib/security/java.security</code> file of
-the Java 2 SDK installation.
-<p><dt><b><code>jsk-platform.jar</code></b>
-<dd>
-This JAR file contains classes and interfaces that we have chosen to include
-in all of our applications, and have also chosen to assume are available
-in all other applications that receive objects from our applications.
-This JAR file primarily contains classes and interfaces that are typically
-referenced in:
+Some points of note:
+<br>
 <ul>
-<li><a href="http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html#Service Provider"><i>service provider</i></a> resources to control the configuration of
-<a href="http://java.sun.com/j2se/1.4/docs/api/java/rmi/server/RMIClassLoader.html"><code>RMIClassLoader</code></a>,
-<a href="../api/net/jini/security/TrustVerifier.html"><code>TrustVerifier</code></a>,
-<a href="../api/net/jini/security/IntegrityVerifier.html"><code>IntegrityVerifier</code></a>,
-<a href="../api/net/jini/export/ServerContext.html"><code>ServerContext</code></a>,
-and
-<a href="../api/com/sun/jini/discovery/DiscoveryFormatProvider.html"><code>DiscoveryFormatProvider</code></a>
-providers
-<li><a href="../api/net/jini/config/ConfigurationFile.html"><code>ConfigurationFile</code></a>
-source files, but which are unlikely to be referenced directly by the
-applications and services being configured (in particular, classes for
-creating
-<a href="../api/net/jini/export/Exporter.html"><code>Exporter</code></a> and
-<a href="../api/net/jini/security/ProxyPreparer.html"><code>ProxyPreparer</code></a>
-instances and their components)
-<li>dynamically downloaded code, but which we believe are not themselves
-reasonable to download (in particular, because they are needed to bootstrap
-proxy trust verification, or because their implementations require
-extraordinary permissions)
-</ul>
-plus all of the classes and interfaces that their implementations directly
-or indirectly depend on.
+<li>NOTICE file and source license headers updated </li>
+<li>Source and documentation updated for release name ("Apache
+   River release") and version ("v2.1.2") </li>
+<li> Graphical installer (which was a 3rd party application in the
+Starter Kit) is no longer available</li>
+<li>The combined source and binary release in the Starter Kit has
+been separated into two releases:  src and bin </li>
+<li>The "logstore" implementation of com.sun.jini.outrigger.Store has
+been removed
 <p>
-This JAR file contains all of the classes and interfaces in the
-following namespaces (including all subpackages):
-<ul>
-<li><code>net.jini.activation</code>
-<li><code>net.jini.config</code>
-<li><code>net.jini.constraint</code>
-<li><code>net.jini.core</code>
-<li><code>net.jini.export</code>
-<li><code>net.jini.id</code>
-<li><code>net.jini.iiop</code>
-<li><code>net.jini.io</code>
-<li><code>net.jini.jeri</code>
-<li><code>net.jini.jrmp</code>
-<li><code>net.jini.loader</code>
-<li><code>net.jini.security</code>
-<li><code>net.jini.url</code>
-<li><code>com.sun.jini.discovery</code>
-</ul>
-plus the following classes:
-<ul>
-<li><a href="../api/net/jini/discovery/ConstrainableLookupLocatorTrustVerifier.html"><code>ConstrainableLookupLocatorTrustVerifier</code></a>
-<li><a href="../api/com/sun/jini/config/KeyStores.html"><code>KeyStores</code></a>
-<li><a href="../api/com/sun/jini/config/ConfigUtil.html"><code>ConfigUtil</code></a>
-<li><a href="../api/com/sun/jini/logging/LogManager.html"><code>LogManager</code></a>
-</ul>
-Any other classes or interfaces found in this JAR file should be considered
-implementation details.
+   The persistent version of Outrigger relies on a pluggable persistence
+   layer, <code>com.sun.jini.outrigger.Store</code>. Previous releases
+   of the Starter Kit included two implementations of the Store interface,
+   <em>logstore</em> and <em>snaplogstore</em>. This release removes
+   logstore.
 <p>
-This JAR file includes a protocol handler for
-<a href="../api/net/jini/url/httpmd/package-summary.html">HTTPMD</a> URLs.
-To enable this handler, you need to specify the system property:
-<pre>
--Djava.protocol.handler.pkgs=net.jini.url
-</pre>
-in any application that creates or receives such URLs. In particular,
-any service that uses an HTTPMD URL in its codebase, and any client
-that wants to download code from such a service, should set this
-system property.
+   Logstore has been around in various forms since the 1.0 version of
+   Outrigger. Snapstore was introduced in v2.1 of the Starter Kit.
 <p>
-It is important to understand that the contents of this JAR file do <i>not</i>
-constitute a "standard" platform; this JAR file is simply our choice of
-<i>a</i> platform likely to be useful for deployments of this release.
-Depending on your deployment requirements, you may want to alter the contents
-of this JAR file (but if you do so, you also might have to make changes to
-other JAR files).
-<p><dt><b><code>jsk-resources.jar</code></b>
-<dd>
-This JAR file is referenced in the <code>Class-Path</code> manifest attribute
-of <code>jsk-platform.jar</code>, and configures the following specific
-service providers to be used:
-<ul>
-<li><a href="http://java.sun.com/j2se/1.4/docs/api/java/rmi/server/RMIClassLoader.html"><code>RMIClassLoader</code></a> provider:
-<ul>
-<li><a href="../api/net/jini/loader/pref/PreferredClassProvider.html"><code>PreferredClassProvider</code></a>
-</ul>
-<li><a href="../api/net/jini/security/TrustVerifier.html"><code>TrustVerifier</code></a> providers:
-<ul>
-<li><a href="../api/net/jini/constraint/ConstraintTrustVerifier.html"><code>ConstraintTrustVerifier</code></a>
-<li><a href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a>
-<li><a href="../api/net/jini/jeri/ssl/SslTrustVerifier.html"><code>SslTrustVerifier</code></a>
-<li><a href="../api/net/jini/jeri/kerberos/KerberosTrustVerifier.html"><code>KerberosTrustVerifier</code></a>
-<li><a href="../api/net/jini/security/proxytrust/ProxyTrustVerifier.html"><code>ProxyTrustVerifier</code></a>
-<li><a href="../api/net/jini/discovery/ConstrainableLookupLocatorTrustVerifier.html"><code>ConstrainableLookupLocatorTrustVerifier</code></a>
-<li><a href="../api/com/sun/jini/discovery/DiscoveryConstraintTrustVerifier.html"><code>DiscoveryConstraintTrustVerifier</code></a>
-</ul>
-<li><a href="../api/net/jini/security/IntegrityVerifier.html"><code>IntegrityVerifier</code></a> providers:
-<ul>
-<li><a href="../api/net/jini/url/httpmd/HttpmdIntegrityVerifier.html"><code>HttpmdIntegrityVerifier</code></a>
-<li><a href="../api/net/jini/url/https/HttpsIntegrityVerifier.html"><code>HttpsIntegrityVerifier</code></a>
-<li><a href="../api/net/jini/url/file/FileIntegrityVerifier.html"><code>FileIntegrityVerifier</code></a>
-</ul>
-<li><a href="../api/net/jini/export/ServerContext.html"><code>ServerContext</code></a> providers:
-<ul>
-<li><a href="../api/net/jini/jrmp/JrmpServerContext.html"><code>JrmpServerContext</code></a>
+   The v2.0.n releases of the Starter Kit used logstore as the default Store
+    implementation, this release has no default Store. In order to switch an
+    existing set of configuration files, security policy files, etc., from using
+    logstore to snaplogstore, you will need to change the
+    <code>com.sun.jini.outrigger.store</code> configuration entry (or add a
+    store configuration entry if you don't already have one) to yield a
+    <code>com.sun.jini.outrigger.snaplogstore.LogStore</code> object. You
+    will also need to ensure that <code>outrigger-snaplogstore.jar</code> has
+    been granted sufficient permissions (see Outrigger's package documentation
+    for a sample security policy file.).
+<p>
+    Note that depending on the nature of your application snaplogstore can
+    have a significantly different performance profile than logstore.
+<p>
+    The storage formats used by snaplogstore and logstore are mutually
+    incompatible.
+ </li>
 </ul>
-<li><a href="../api/com/sun/jini/discovery/DiscoveryFormatProvider.html"><code>DiscoveryFormatProvider</code></a>s for the following discovery formats:
+
+
+<h2>Upcoming Changes planned for the next version of Apache River</h2>
+<li>All packages ouside of the net.jini namespace will be 
+renamed to org.apache.river.</li>
+<li>Support for Java 5 language features</li>
+<li>Support for Modular Frameworks conforming to the OSGi r4.2 core Specification</li>
+<hr>    
+<h2>Changes made since Apache River v2.1.1</h2>
+<h2>        Bug
+</h2>
 <ul>
-<li><code>net.jini.discovery.plaintext</code>
-<li><code>net.jini.discovery.ssl</code>
-<li><code>net.jini.discovery.kerberos</code>
-<li><code>net.jini.discovery.x500.SHA1withDSA</code>
-<li><code>net.jini.discovery.x500.SHA1withRSA</code>
-</ul>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-5'>RIVER-5</a>] - 
+HTTMPMD URLs can be considered equal while they are not
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-8'>RIVER-8</a>] -         
+com.sun.jini.tool.ClassDep empty inside collection doesn't work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-17'>RIVER-17</a>] -         
+Misleading logging message when discovery constraint checking is delayed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-18'>RIVER-18</a>] -         
+Order of discovery providers not maintained
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-22'>RIVER-22</a>] -         
+NPE in net.jini.jeri.tcp.TcpEndpoint$ConnectionImpl.checkConnectPermission
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-24'>RIVER-24</a>] -         
+PreferredListGen can create illegal PREFERRED.LIST
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-78'>RIVER-78</a>] -         
+ClassDep generates duplicate output lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-82'>RIVER-82</a>] -         
+ClassDep generates duplicate output lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-91'>RIVER-91</a>] -         
+Uninstaller does not remove all items
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-205'>RIVER-205</a>] -         
+LookupDiscovery can give untrusted code access to privileged threads
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-209'>RIVER-209</a>] -         
+NullPointerException in SslConnection.checkConnectPermission()
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-212'>RIVER-212</a>] -         
+use of &quot;enum&quot; as a variable name
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-213'>RIVER-213</a>] -         
+(DOC) - JoinManger has typo in javadoc (missing &lt;/code&gt; termination tag)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-215'>RIVER-215</a>] -         
+LookupDiscovery throws NullPointerException on terminate
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-216'>RIVER-216</a>] -         
+ConfigurationFile should throw ExceptionInInitializerError if unable to read 
+prohibited methods
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-217'>RIVER-217</a>] -         
+Browser incorrectly assumes event source is ServiceRegistrar proxy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-223'>RIVER-223</a>] -         
+test: jtreg/net/jini/jeri/tcp/connectTimeout/TestConnectTimeout fails on Linux
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-224'>RIVER-224</a>] -         
+Problem using browser to destroy service that supports DestroyAdmin but not 
+JoinAdmin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-225'>RIVER-225</a>] -         
+NullPointerException in Reggie during destroy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-227'>RIVER-227</a>] -         
+tools manpages command lines do not include line continuation characters
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-230'>RIVER-230</a>] -         
+(mux) SelectionManager catch Error block assumes getMessage() returns non-null
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-232'>RIVER-232</a>] -         
+JarWrapper and PreferredListGen uses jsk_install_dir and install_dir
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-234'>RIVER-234</a>] -         
+(DOC) Fiddler manpage directions for HTTP server should reference 
+classserver.jar, not tools.jar
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-240'>RIVER-240</a>] -         
+BasicInvocationDispatcher.dispatch could log more info for some exceptions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-241'>RIVER-241</a>] -         
+Mercury spelling errore
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-242'>RIVER-242</a>] -         
+if a given ConnectionManager instance cannot create a reaper thread once, 
+it never will again
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-245'>RIVER-245</a>] -         
+Unicast discovery should close socket in case of connection exception.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-252'>RIVER-252</a>] -         
+ComputeHttpmdCodebase NPE if resource bundle not found
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-253'>RIVER-253</a>] -         
+ComputeDigest NPE if resource bundle not found
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-254'>RIVER-254</a>] -         
+request initiation can block on I/O for inapplicable connection
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-255'>RIVER-255</a>] -         
+Outrigger DestroyThread does not catch exceptions from exporter.unexport
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-284'>RIVER-284</a>] -         
+[PATCH] fix bad ParticipantHandle.compareTo 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-286'>RIVER-286</a>] -         
+[PATCH] iterators on synchronized collections still need synchronization
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-289'>RIVER-289</a>] -         
+Fix for RIVER-247 introduced wrong license headers and references
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-298'>RIVER-298</a>] -         
+No JavaDocs generated for package &quot;com.sun.jini.reliableLog&quot;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-302'>RIVER-302</a>] -         
+ClassDep -newdirbehaviour option does not work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-305'>RIVER-305</a>] -         
+qa/GetPermissions test still uses &quot;enum&quot; keyword
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-320'>RIVER-320</a>] -         
+Prebuilt hello example certificates have expired - need to provide new ones 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-324'>RIVER-324</a>] -         
+Under certain circumstances, the ServiceDiscoveryManager internal LookupCache 
+implementation can incorrectly  process attribute change events before the 
+lookup snapshot is processed.
+</li>
 </ul>
-Depending on your deployment requirements, you may want to alter
-the contents of this JAR file to use different sets of providers.
-<p><dt><b><code>jsk-lib.jar</code></b>
-<dd>
-This JAR file is referenced in the <code>Class-Path</code> manifest attribute
-of many Apache River release implementation JAR files, and contains the utility
-APIs that are not tied to a specific service implementation.
-<p>
-This JAR file contains all of the classes and interfaces in the
-following namespaces (including all subpackages):
+    
+<h2>        Improvement
+</h2>
 <ul>
-<li><code>net.jini.admin</code>
-<li><code>net.jini.discovery</code> excluding <code>ConstrainableLookupLocatorTrustVerifier</code> which is contained in <code>jsk-platform.jar</code>
-<li><code>net.jini.entry</code>
-<li><code>net.jini.event</code>
-<li><code>net.jini.lease</code>
-<li><code>net.jini.lookup</code>
-<li><code>net.jini.space</code>
-<li><code>com.sun.jini.admin</code>
-<li><code>com.sun.jini.landlord</code>
-<li><code>com.sun.jini.lease</code>
-<li><code>com.sun.jini.lookup.entry</code>
-<li><code>com.sun.jini.proxy</code>
-<li><code>com.sun.jini.resource</code>
-<li><code>com.sun.jini.thread</code>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-7'>RIVER-7</a>] -         
+com.sun.jini.tool.ClassDep should be smarter with outer classes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-9'>RIVER-9</a>] -         
+PreferredClassLoader should try to avoid making a direct check against the 
+first URL
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-25'>RIVER-25</a>] -         
+Improve logging for JoinManager at INFO and WARNING level
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-115'>RIVER-115</a>] -         
+Multiple jar files with conflicting lists need facilities to map the chosen 
+preferred value
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-116'>RIVER-116</a>] -         
+Multiple jar files with conflicting lists need facilities to map the chosen 
+preferred value
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-160'>RIVER-160</a>] -         
+add TrustEquivalence to browser's list of uninterestingInterfaces
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-201'>RIVER-201</a>] -         
+Show interfaces rather than classes in browser's Matching Services pane.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-206'>RIVER-206</a>] -         
+Change default load factors from 3 to 1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-210'>RIVER-210</a>] -         
+Browser should cancel event lease on exit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-220'>RIVER-220</a>] -         
+LookupLocatorDiscovery catch Throwable blocks should also catch Throwable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-226'>RIVER-226</a>] -         
+LLD: consider delaying the queuing of a discovery request immediately after a 
+discard
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-229'>RIVER-229</a>] -         
+reduce number of Reaper threads created by ConnectionManager
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-231'>RIVER-231</a>] -         
+ComputeHttpmdCodebase man page could be clarified with respect to algorithm used
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-233'>RIVER-233</a>] -         
+ComputeDigest instructions reference sha and sha1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-243'>RIVER-243</a>] -         
+JarWrapper javadoc could be clearer wrt to classpath manifests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-244'>RIVER-244</a>] -         
+Text area below menu bar in ServiceBrowser should not be editable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-246'>RIVER-246</a>] -         
+Consider adding shutdown hook so Reggie sends final multicast packet if its VM 
+is terminated
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-247'>RIVER-247</a>] -         
+Destroy processing should use configurable duration and interval for unexporting
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-256'>RIVER-256</a>] -         
+Outrigger catch Throwable blocks should also catch Throwable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-262'>RIVER-262</a>] -         
+ServiceUI Specification
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-270'>RIVER-270</a>] -         
+tar tasks in release* ant targets fail due to 100-char limitation and are 
+disabled
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-285'>RIVER-285</a>] -         
+LookupDiscoveryManager has unused variable declarations
+</li>
 </ul>
-plus the following classes:
+    
+<h2>        New Feature
+</h2>
 <ul>
-<li><a href="../api/com/sun/jini/config/Config.html"><code>Config</code></a>
-<li><a href="../api/com/sun/jini/logging/Levels.html"><code>Levels</code></a>
-<li><a href="../api/com/sun/jini/phoenix/ActivationAdmin.html"><code>ActivationAdmin</code></a>
-<li><a href="../api/com/sun/jini/start/LifeCycle.html"><code>LifeCycle</code></a>
-<li><a href="../api/com/sun/jini/start/ServiceProxyAccessor.html"><code>ServiceProxyAccessor</code></a>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-151'>RIVER-151</a>] -         
+ClassDep should have a method to determine if problems occurred
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-161'>RIVER-161</a>] -         
+Coalesce jars from multiple source dirs while retain current Manifest Classpath 
+semantics
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-163'>RIVER-163</a>] -         
+ClassDep doesn't pick up annotation or type parameter dependencies
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-292'>RIVER-292</a>] -         
+The service browser should provide support for the ServiceUI support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-295'>RIVER-295</a>] -         
+Support configurable option to prevent from popup windows that require a 
+confirmation by the user
+</li>
 </ul>
-Any other classes or interfaces found in this JAR file should be considered
-implementation details.
-<p><dt><b><code>jsk-dl.jar</code></b>
-<dd>
-The codebase JAR file for <code>jsk-lib.jar</code>. An application that includes
-<code>jsk-lib.jar</code> in its class-path may also need to include <code>jsk-dl.jar</code>
-in its codebase.
-<p>
-This JAR file contains all of the classes and interfaces in the
-following namespaces (including all subpackages):
+                
+<h2>        Task
+</h2>
 <ul>
-<li><code>net.jini.admin</code>
-<li><code>net.jini.entry</code>
-<li><code>net.jini.event</code>
-<li><code>net.jini.lookup.entry</code> excluding <code>EntryBeans</code>
-<li><code>net.jini.space</code>
-<li><code>com.sun.jini.admin</code>
-<li><code>com.sun.jini.lease</code>
-<li><code>com.sun.jini.proxy</code>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-294'>RIVER-294</a>] -         
+Remove http://svn.apache.org/repos/asf/incubator/river/trunk/ from the SVN 
+repository
+</li>
 </ul>
-plus the following classes:
+            
+<h2>        Test
+</h2>
 <ul>
-<li><a href="../api/net/jini/discovery/LookupDiscoveryRegistration.html"><code>LookupDiscoveryRegistration</code></a>
-<li><a href="../api/net/jini/discovery/LookupDiscoveryService.html"><code>LookupDiscoveryService</code></a>
-<li><a href="../api/net/jini/discovery/LookupUnmarshalException.html"><code>LookupUnmarshalException</code></a>
-<li><a href="../api/net/jini/discovery/RemoteDiscoveryEvent.html"><code>RemoteDiscoveryEvent</code></a>
-<li><a href="../api/net/jini/lease/LeaseRenewalService.html"><code>LeaseRenewalService</code></a>
-<li><a href="../api/net/jini/lease/LeaseRenewalSet.html"><code>LeaseRenewalSet</code></a>
-<li><a href="../api/net/jini/lease/LeaseUnmarshalException.html"><code>LeaseUnmarshalException</code></a>
-<li><a href="../api/net/jini/lease/RenewalFailureEvent.html"><code>RenewalFailureEvent</code></a>
-<li><a href="../api/com/sun/jini/landlord/ConstrainableLandlordLease.html"><code>ConstrainableLandlordLease</code></a>
-<li><a href="../api/com/sun/jini/landlord/ConstrainableLandlordLeaseMap.html"><code>ConstrainableLandlordLeaseMap</code></a>
-<li><a href="../api/com/sun/jini/landlord/Landlord.html"><code>Landlord</code></a>
-<li><a href="../api/com/sun/jini/landlord/LandlordLease.html"><code>LandlordLease</code></a>
-<li><a href="../api/com/sun/jini/landlord/LandlordLeaseMap.html"><code>LandlordLeaseMap</code></a>
-<li><a href="../api/com/sun/jini/landlord/LandlordProxyVerifier.html"><code>LandlordProxyVerifier</code></a>
-<li><a href="../api/com/sun/jini/logging/Levels.html"><code>Levels</code></a>
-<li><a href="../api/com/sun/jini/lookup/entry/BasicServiceType.html"><code>BasicServiceType</code></a>
-<li><a href="../api/com/sun/jini/resource/ServiceConfigurationError.html"><code>ServiceConfigurationError</code></a>
-<li><a href="../api/com/sun/jini/start/ServiceProxyAccessor.html"><code>ServiceProxyAccessor</code></a>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-291'>RIVER-291</a>] -         
+Cannot build QA tests using the supplied make files
+</li>
 </ul>
-Any other classes or interfaces found in this JAR file should be considered
-implementation details.
-</dl>
+    <hr>
+    
+    <h2>Changes made since JTSK v2.1</h2>
+        
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-211'>RIVER-211</a>] -         
+source files for ServiceItem, ServiceMatches, and ServiceTemplate do not match 
+binary distribution
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-269'>RIVER-269</a>] -         
+build reports problem with javadoc generation on Windows
+</li>
 </ul>
-<ul><a name="starter_jars">
-<h2>Service Starter JAR files</h2></a>
-All of our services are designed to be run under the
-<a href="../api/com/sun/jini/start/package-summary.html">Service Starter</a>.
-<p>
-<dl>
-<dt><b><code>start.jar</code></b>
-<dd>This executable JAR file is the primary entry point for the
-Service Starter. It acts as both the class path for the container
-virtual machine (VM) for the Java platform that executes non-activatable 
-services, and as the
-setup VM for activatable services. It has a <code>Class-Path</code> manifest
-attribute that references <code>jsk-platform.jar</code>.
-<p><dt><b><code>sharedvm.jar</code></b>
-<dd>This JAR file is used as the class path for the activation group VM
-(the container VM for activatable services). It has a
-<code>Class-Path</code> manifest attribute that references both
-<code>jsk-platform.jar</code> and <code>phoenix-init.jar</code>.
-<p><dt><b><code>destroy.jar</code></b>
-<dd>This executable JAR file can be used to destroy an existing
-activation group and all of the activatable services registered
-in that group.
-<p><dt><b><code>group.jar</code></b>
-<dd>This JAR file contains the implementation of an activatable service
-used to destroy an existing activation group. It is typically used as
-the class path in a
-<a href="../api/com/sun/jini/start/SharedActivatableServiceDescriptor.html">
-<code>SharedActivatableServiceDescriptor</code></a> in a configuration file
-passed to <code>destroy.jar</code>.
-<p><dt><b><code>group-dl.jar</code></b>
-<dd>The codebase JAR file for <code>group.jar</code>, used in the same
-service descriptor as above for <code>group.jar</code>.
-</dl>
+                        
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-263'>RIVER-263</a>] -         
+Remove outrigger logstore sources and build support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-264'>RIVER-264</a>] -         
+integrate serviceui sources into jtsk trunk
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-266'>RIVER-266</a>] -         
+update build and source code for name, version number, ...
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/RIVER-267'>RIVER-267</a>] -         
+Documentation update in release
+</li>
 </ul>
-<ul><a name="service_jars">
-<h2>Service JAR files</h2></a>
-There are two primary JAR files for each service, a service JAR file with
-a name of the form <code><var>service</var>.jar</code>, and a codebase JAR
-file with a name of the form <code><var>service</var>-dl.jar</code>.
-The service JAR file contains the service implementation itself, and
-can be thought of as the <i>class path</i> for the service. The
-service JAR file generally contains three versions of the service:
-a transient (non-activatable, non-persistent) version; a non-activatable,
-persistent version; and an activatable, persistent version. In this release,
-Mahalo and Mercury do not yet provide transient versions. The service
-JAR file is designed to be run under the Service Starter, and as such
-is not directly executable.
-The service JAR file's <code>Class-Path</code>
-manifest attribute refers to <code>jsk-lib.jar</code>.
-The codebase JAR file is used as the
-<i>codebase annotation</i> for the service; it contains classes and interfaces
-that are used by the service's proxies and trust verifiers, and that clients
-need to dynamically download. The codebase JAR file also contains a
-<a href="../api/net/jini/loader/pref/package-summary.html">
-<i>preferred list</i></a> for use by clients that have the
-<a href="../api/net/jini/loader/pref/PreferredClassProvider.html">
-<code>PreferredClassProvider</code></a> enabled.
-The codebase JAR file does not include any of the classes or interfaces found
-in <code>jsk-dl.jar</code> therefore <code>jsk-dl.jar</code> must be included
-in the service's codebase annotation. The codebase JAR should come first in
-the codebase annotation, so that its preferred list is obeyed, rather than the
-one in <code>jsk-dl.jar</code>.
-Neither the service JAR file nor the codebase JAR file include any of the
-classes or interfaces found in <code>jsk-platform.jar</code>: the Service
-Starter container (either <code>start.jar</code> or <code>sharedvm.jar</code>)
-provides these classes for the service implementation, and clients are
-expected to have <code>jsk-platform.jar</code> in their class path.
-<p>
-<dl>
-<dt><b><code>fiddler.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/fiddler/package-summary.html">Fiddler</a> implementation of the lookup discovery service.
-<p><dt><b><code>fiddler-dl.jar</code></b>
-<dd>The codebase JAR file for Fiddler.
-<p><dt><b><code>mahalo.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/mahalo/package-summary.html">Mahalo</a> implementation of the transaction manager service.
-<p><dt><b><code>mahalo-dl.jar</code></b>
-<dd>The codebase JAR file for Mahalo.
-<p><dt><b><code>mercury.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/mercury/package-summary.html">Mercury</a> implementation of the event mailbox service.
-<p><dt><b><code>mercury-dl.jar</code></b>
-<dd>The codebase JAR file for Mercury.
-<p><dt><b><code>norm.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/norm/package-summary.html">Norm</a> implementation of the lease renewal service.
-<p><dt><b><code>norm-dl.jar</code></b>
-<dd>The codebase JAR file for Norm.
-<p><dt><b><code>outrigger.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/outrigger/package-summary.html">Outrigger</a> implementation of the JavaSpaces service.
-<p><dt><b><code>outrigger-dl.jar</code></b>
-<dd>The codebase JAR file for Outrigger.
-<p><dt><b><code>reggie.jar</code></b>
-<dd>The service JAR file for the <a href="../api/com/sun/jini/reggie/package-summary.html">Reggie</a> implementation of the lookup service.
-<p><dt><b><code>reggie-dl.jar</code></b>
-<dd>The codebase JAR file for Reggie.
-</dl>
+<hr>
+                
+                <h2>Release notes from the Jini Technology Starter Kit v2.1</h2>
+<ul>
+        <li><a href=new.html>What's new in v2.1?</a>  
+        <li><a href="bugfixes.html">Bugs fixed between v2.0.1 and v2.0.2 releases</a>
+        <li><a href=#changes>Changes since the v2.0.1 release</a>
+	<li><a href=#platform>Platform dependencies</a>
+	<li>JAR file structure
+	<ul>
+		<li><a href=#platform_jars>Platform JAR files</a>
+		<li><a href=#starter_jars>Service Starter JAR files</a>
+		<li><a href=#service_jars>Service JAR files</a>
+		<li><a href=#activation_jars>Activation JAR files</a>
+		<li><a href=#tools_jars>Tools JAR files</a>
+		<li><a href=#persistent_outrigger_jars>Persistent Outrigger JAR files</a>
+		<li><a href=#deprecated_jars>Deprecated JAR files</a>
+	</ul>
+	<li><a href=#javadoc>Note on the API documentation</a>
 </ul>
-<ul><a name="activation_jars">
-<h2>Activation JAR files</h2></a>
-This release contains a configurable Java Remote Method Invocation
-(Java RMI) activation system daemon implementation named
-<a href="../api/com/sun/jini/phoenix/package-summary.html">Phoenix</a>
-that we recommend using instead of <code>rmid</code> when deploying
-activatable versions of services.
-<p>
-<dl>
-<dt><b><code>phoenix.jar</code></b>
-<dd>This executable JAR file is used to run Phoenix.
-<p><dt><b><code>phoenix-dl.jar</code></b>
-<dd>The codebase JAR file for Phoenix. Unlike <code>rmid</code>,
-Phoenix <i>requires</i> clients to dynamically download code.
-<p><dt><b><code>phoenix-init.jar</code></b>
-<dd>This JAR file (or its contents) must be included in the class path of any
-activation group VM that is created by Phoenix to run activatable objects.
-<p><dt><b><code>phoenix-group.jar</code></b>
-<dd>This JAR file contains the default <code>ActivationGroup</code>
-implementation for Phoenix. Normally it is not referenced explicitly,
-but is instead loaded automatically from the same directory as
-<code>phoenix.jar</code>.
-</dl>
+<a name="changes">
+<h2>Changes by Component, updated for River v2.1.2</h2></a>
+<h3>Services</h3>
+<ul>
+	<li><a href="reggie.html">Reggie</a>
+	<li><a href="mahalo.html">Mahalo</a>
+	<li><a href="norm.html">Norm</a>
+	<li><a href="mercury.html">Mercury</a>
+	<li><a href="fiddler.html">Fiddler</a>
+	<li><a href="outrigger.html">Outrigger</a>
 </ul>
-<ul><a name="tools_jars">
-<h2>Tools JAR files</h2></a>
-<dl>
-<dt><b><code>tools.jar</code></b>
-<dd>This JAR file contains <a href="../manpages-index.html#tools">tools</a> for:
-checking configuration files; checking for missing
-<code>serialVersionUID</code> fields; computing class dependencies;
-providing HTTP service; generating message digests; generating HTTPMD URLs;
-examining the run-time environment of a River component;
-generating wrapper JAR files; and generating preferred lists. 
-When used as an executable JAR file, it runs the
-<a href="../api/com/sun/jini/tool/ClassServer.html">
-ClassServer</a>.
-<p><dt><b><code>checkconfigurationfile.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/CheckConfigurationFile.html">CheckConfigurationFile</a>.
-<p><dt><b><code>checkser.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/CheckSer.html">CheckSer</a>.
-<p><dt><b><code>classdep.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ClassDep.html">ClassDep</a>.
-<p><dt><b><code>classserver.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ClassServer.html">ClassServer</a>.
-<p><dt><b><code>computedigest.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ComputeDigest.html">ComputeDigest</a>.
-<p><dt><b><code>computehttpmdcodebase.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/ComputeHttpmdCodebase.html">ComputeHttpmdCodebase</a>.
-<p><dt><b><code>envcheck.jar</code></b><dd>A wrapper for <code>tools.jar</code>. When used as an executable JAR file, it runs <a href="../api/com/sun/jini/tool/envcheck/EnvCheck.html">EnvCheck</a>.

[... 109 lines stripped ...]


Mime
View raw message