Virgo Programmer Guide

Ramnivas Laddad

Colin Yates

Sam Brannen

Rob Harrop

Christian Dupuis

Andy Wilkinson

Glyn Normington

Steve Powell

Christopher Frost

Virgo

3.0.3.RELEASE

Copyright © 2011 VMware Inc.


Table of Contents

Preface
1. Prerequisites
1.1. Runtime Environment
1.2. References
2. Introduction to the Virgo Tomcat Server
2.1. Overview
2.2. What is the Virgo Tomcat Server?
2.3. Why the Virgo Tomcat Server?
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 WARs
4.3. Creating Plans
4.4. Creating and Using Configuration Artifacts
4.5. Programmatic Access to the Servlet Context
4.6. Web Application Manifest Processing
4.7. Working with Dependencies
4.8. Application Trace
4.9. 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. Tooling
7.1. Installation
7.2. Running a Virgo Tomcat Server Instance Within Eclipse
7.3. Bundle and Library Provisioning
7.4. Setting up Eclipse Projects
7.5. Developing OSGi Bundles
7.6. Developing PARs
7.7. Deploying Applications
8. Common Libraries
8.1. Working with Hibernate
8.2. Working with DataSources
8.3. Weaving and Instrumentation
8.4. JSP Tag Libraries
9. Known Issues
9.1. JPA Entity Scanning
9.2. ClassNotFoundError When Creating a Proxy
9.3. Creating proxies with CGLIB for Package Protected Types
9.4. Virgo Jetty Server Restrictions
9.5. Virgo Tomcat Server Restrictions
9.6. Default Web Application Bundle Headers
9.7. Hibernate Resolution Issue
9.8. Scoping and Substitutable Exports
9.9. EclipseLink Resolution Issue