# Apache River Release
v3.0.0 Manual Pages

A set of "manual pages" has been written to assist you in executing the services, utilities, infrastructure and tools that are part of the Apache River release. These package.html or class.html files provide implementation specifics for services, utilities, and tools.

- ## Services

  - Fiddler - a Jini lookup discovery service implementation
  - Mahalo - a Jini transaction manager service implementation
  - Mercury - a Jini event mailbox service implementation.
  - Norm - a Jini lease renewal service implementation.
  - Outrigger - a JavaSpaces service implementation.
  - Phoenix - a configurable Java RMI activation system daemon
  - Reggie - a Jini lookup service

  ## Utilities

  - JoinManager - performs all of the functions related to discovery, joining, service lease renewal, and attribute management required of a well-behaved service
  - LeaseRenewalManager - provides for the systematic renewal and overall management of a set of leases associated with one or more remote entities on behalf of a local entity
  - LookupDiscovery - helps make the process of acquiring references to lookup services much simpler for both services and clients
  - LookupDiscoveryManager - organizes and manages all discovery-related activities on behalf of a client or service
  - LookupLocatorDiscovery - provides an implementation that makes the process of finding specific lookup services much simpler for both services and clients
  - ServiceDiscoveryManager - "discovers" services registered with any number of lookup services of interest for any client-like entity

  ## Infrastructure

  - Apache River's Security Extensions - A scalable SecurityManager and ConcurrentPolicyFile solve long standing performance issues in distributed environments.
  - Portable objects - an extension of the Serialization protocol, Portable objects are themselves not Serialized, instead only instructions for recreating an object remotely using reflection are Marshalled. This allows Portable objects to utilize public api methods for construction, avoid publishing their internal state and to be immutable and safely constructed with invariants checked or defensively copied using final fields.
  - A next generation lookup service API.

  ## Tools

  - Browser - discovers lookup services and inspects the various services registered within those lookup services
  - CheckConfigurationFile - checks the format of the source for a `ConfigurationFile`
  - ClassDep - analyzes a set of classes and determines on what other classes they directly or indirectly depend
  - ClassServer - creates an HTTP server from the command line
  - ComputeDigest - prints the message digest for the contents of a URL
  - ComputeHttpmdCodebase - computes the message digests for a codebase with HTTPMD URLs
  - EnvCheck - examines the run-time environment of a River client or service
  - JarWrapper - generates "wrapper" JAR files
  - PreferredListGen - analyzes the contents of a JAR file and generates a preferred list
  - ServiceStarter - provides static methods used for starting shared groups, transient services, and activatable services

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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

- http://www.apache.org/licenses/LICENSE-2.0

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.