Compass - Spring Framework
Spring Framework
Compass::Spring module integrates seamlessly with the Spring Framework. From the usual DAO type support to Spring MVC and Spring Transactions. Using the Compass::Spring module should make any Spring developer feel at home.
The following features are bundled with the Compass::Spring module:
- LocalCompassBean: Similar to Hibernate LocalSessionFactoryBean, this is a Spring IOC enabled bean to configure Compass instances using Spring configuration.
- CompassDaoSupport: Similar to HibernateDaoSupport, a helper base class for operations that are done against Compass, with pre initialised CompassTemplate.
- Spring AOP: Compass provides a set of Spring AOP Advices which helps to mirror data changes done within a Spring powered application. For applications with a data source or a tool with no gps device that works with it (or it does not have mirroring capabilities - like iBatis), the mirror advices can make synchronizing changes made to the data source and Compass index simpler.
- Spring Sync Transaction: Integration with an on going Spring based transaction (PlatformTransactionManager), for example HibernateTransactionManager, JtaTransactionManager and so on.
- Spring MVC: Integration with Spring MVC, providing index and search controllers. The index controller can automatically perform the index operation on a CompassGps, only the initiator view and result view need to be written. The search controller can automatically perform the search operation (With pagination), requiring only the search initiator and search results view (usually the same one).
- Spring Hibernate Device: By default, Spring proxies Hibernate Session Factory (for Hibernate 3). The SpringHibernate3GpsDevice handles the proxy operation to configure the actual SessionFactory.
- Spring Ojb Device and Interceptor: A SpringOjbGpsDevice that can detect the PersistenceBroker, as well as a SpringOjbGpsDeviceInterceptor that uses Spring AOP to attach and remove lifecycle event listeners to the PersistenceBroker.
