Compass provides a powerful bridge between ORMs and the Apache Foundation's Lucene project. Supporting both XML descriptors and Java 5 annotations, Compass makes quick work of creating powerful indexes over your application data domain.
As a fan of both Toplink and Glassfish, I was excited to integrate Compass into the applications I design, but soon ran into difficulty. I've found a work around to get Compass working in a Glassfish JPA environment that is easy, somewhat elegant, but a bit of a hack.
I've included code samples, as well as a description of the issues faced at Glassfish & Compass
I've taken a Singleton approach, with some caveats. If you have had success with Compass, JPA, and Glassfish (without Spring!), this developer would be very interested in your experiences.