JSR 291 Specification

Specification Overview

This specification defines a dynamic component framework including component lifecycle for existing Java SE platforms. The dynamic component model supports assembly of applications from components and supports implementation detail hiding between components as well as lifecycle management of those components.

The specification is built upon capabilities in existing Java SE platforms and provide a consistent and predictable dynamic component model across the family of Java platforms in conjunction with JSR 232 for Java ME (CDC).

The specification enables components to be declared through metadata and be assembled at runtime using a class loader delegation network. The specification also allows components to be dynamically life cycle managed (install, start, stop, update, uninstall).

Specification License

IBM Corporation, the specification leader (the “Spec Lead”) for the JSR-291 Dynamic Component Support for Java™ SE, Version: 1.0 specification (the “Specification”), hereby grants permission to utilize the Specification under the terms of this license and the OSGi Specification License at https://www.osgi.org/developer/specifications/licensing/, provided that you include the following on ALL copies, or portions thereof, that you make:

  1. A link or URL to the Specification at this location:  https://www.osgi.org/jsr-291-specification
  2. The copyright notice(s) as shown in the Specification.

To encourage implementations of this Specification, the Spec Lead has provided a binding perpetual covenant not to assert necessary patent claims against implementations of this Specification. For more information, please see http://www.ibm.com/us/download/IBM_OSGi.pdf.

THE SPECIFICATION IS PROVIDED “AS IS,” AND THE SPEC LEAD AND ANY OTHER AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. THE SPEC LEAD AND ANY OTHER AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, ECONOMIC OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SPECIFICATION OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.

The name and trademarks of the Spec Lead or any other Authors may NOT be used in any manner, including advertising or publicity pertaining to the Specification or its contents without specific, written prior permission. Title to copyright in the Specification will at all times remain with the Authors.

No other rights are granted by implication, estoppel or otherwise.

Specification Change Log

Change Log for JSR 291

Specification Access

You can access the specification from the download page.