Maya (3.0) Milestone 6 - Release Notes

Milestone 6 of Virgo Maya (3.0) introduces a new shell, makes available the snaps framework supporting modular OSGi web applications, increases compliance with certain OSGi specifications (this is a backward incompatible change from milestone 5 - see below), upgrades Gemini Web to 2.0.0.M02, and fixes several bugs.

Gogo Shell

The new shell, based on Apache Felix Gogo, is not yet documented in the User Guide. See the Gogo home page for some basic usage information. Shells are provided for both kernel and user region.

Access is via ssh or telnet. The simplest way to access the shell is via telnet to port 2501 or 2401 for user region or kernel, respectively.

Alternatively, you can ssh to port 2502 or 2402 for user region or kernel, respectively. The first time you use ssh to connect, specify the user "equinox" and password "equinox". You'll then be prompted prompted to create a new user, password, and role (the "admin" role is recommended).

The shell ports may be reconfigured by editing config/osgi.console.telnet.properties or config/osgi.console.ssh.properties for the kernel, or repository/ext/osgi.console.telnet.properties or repository/ext/osgi.console.ssh.properties for the user region, and then restarting Virgo.

The shell currently has a few known bugs.

Backward Incompatible Change to WAB Support

Milestone 6 includes a backward Incompatible Change to the handling of Web Application Bundle (WAB) manifest headers.

This may affect any WAB. Note that a WAB is distinguished from a WAR file by the presence of one or more of the manifest headers: Bundle-SymbolicName, Bundle-Version, Bundle-ManifestVersion, Import-Package, or Web-ContextPath. So if milestone 6 affects the processing of a WAR file, the chances are the WAR is actually a WAB.

Prior to milestone 6, the following defaults are applied to WAB manifest headers:

  • Bundle-ManifestVersion is set to 2,
  • Bundle-SymbolicName is generated from the path from which the bundle was installed,
  • Bundle-ClassPath is set to WEB-INF/classes followed by the JARs in WEB-INF/lib in an unspecified order, followed by any transitive dependencies declared by the JARs in WEB-INF/lib,
  • Import-Package is extended in an implementation defined way.
These defaults are still applied to WAR files as described in the Programmer Guide section entitled "Web Application Manifest Processing", but are no longer applied to WABs.

As a migration aid, which may be removed in future releases, it is possible to re-instate the defaulting of WAB manifest headers by setting the following property value in config/org.eclipse.virgo.web.properties:

WABHeaders=defaulted

This is described in the User Guide section "Configuring the Web Integration Layer".

Highlights

  • Bug 347904: Introduce the new shell in place of the traditional Equinox shell.
  • Bug 346775: adopt OSGi standard semantics for starting lazy activation bundles so that such bundles are eagerly started as they are deployed. See the migration notes for more details.
  • Bug 326798: Configure Virgo's processing of Web Application Bundle manifest headers to conform strictly to the OSGi Web Applications specification by default, as described above.
  • Bug 350404: fix the way web applications are stopped so more sophisticated web apps can be refreshed, or stopped and restarted, successfully.

A full list of bug fixes included in this milestone is available here.