also be a convenient choice—although, in principle, any implementation of the JPA
service specification should work with any provider.
One of Virgo's nice features is the ability to collect and view dumps of the system state
when OSG i resolution failures occur. This can make debugging missing dependencies
easier. Bundles in a plan file are installed transactionally, so if one fails to resolve, any
bundles that were already installed will be uninstalled so that the system state remains
unchanged. For example, if you try to install the fancyfoods.department.chocolate
bundle without first installing the fancyfoods.api bundle, a dump is generated that
can be browsed in the dump inspector (see figure 13.8).
Clicking on an unresolved bundle in a snapshotted OSG i state shows the resolution
failure message shown in figure 13.9.
Like WebSphere, Virgo allows applications to be isolated from the main server run-
time. Applications run in a user region that's insulated from the Virgo kernel. Some
parts of the server, such as the web console, also run as applications in the user region.
Application bundles do have visibility of bundles from other applications.
Figure 13.8 A dump will be automatically generated for a variety of failures, including OSGi resolution
failures. The dump records active threads, the current configuration, repository contents, and a snapshot
of the OSGi state of the server.
Search WWH ::