Virgo Programmer Guide

Ramnivas Laddad

Colin Yates

Sam Brannen

Rob Harrop

Christian Dupuis

Andy Wilkinson

Glyn Normington

Steve Powell

Christopher Frost



Copyright © 2011 VMware Inc.

Table of Contents

1. Prerequisites
1.1. Runtime Environment
1.2. References
2. Introduction to the Virgo Server for Apache Tomcat
2.1. Overview
2.2. What is the Virgo Server for Apache Tomcat?
2.3. Why the Virgo Server for Apache Tomcat?
3. Deployment Architecture
3.1. Supported Deployment Formats
3.2. Dependency Types
3.3. Regions
3.4. A Guide to Forming Bundles
4. Developing Applications
4.1. Anatomy of a Bundle
4.2. Creating PARs and Web Applications
4.3. Creating Plans
4.4. Creating and Using Configuration Artifacts
4.5. Using Spring, Spring DM, and Blueprint
4.6. Programmatic Access to the Servlet Context
4.7. Web Application Manifest Processing
4.8. Working with Dependencies
4.9. Application Trace
4.10. Application Versioning
5. Migrating to OSGi
5.1. Migrating Web Applications
5.2. Migrating to a Plan or a PAR
6. Migrating Form Tags
6.1. Overview of the Form Tags Sample Application
6.2. Form Tags WAR
6.3. Form Tags Shared Libraries WAR
6.4. Form Tags Shared Services WAR
6.5. Form Tags PAR
6.6. Summary of the Form Tags Migration
6.7. Form Tags as a Plan
7. Common Libraries
7.1. Working with Hibernate
7.2. Working with DataSources
7.3. Weaving and Instrumentation
7.4. JSP Tag Libraries
8. Known Issues
8.1. JPA Entity Scanning
8.2. ClassNotFoundError When Creating a Proxy
8.3. Creating proxies with CGLIB for Package Protected Types
8.4. Virgo Jetty Server Restrictions
8.5. Virgo Server for Apache Tomcat Restrictions
8.6. Default Web Application Bundle Headers
8.7. Hibernate Resolution Issue
8.8. Scoping and Substitutable Exports
8.9. EclipseLink Resolution Issue