Program guide > Programming for Spring integration
Spring is a popular framework for developing Java™ applications. WebSphere eXtreme Scale provides support to allow Spring to manage eXtreme Scale transactions and configure the clients and servers comprising your deployed in-memory data grid.
Spring managed native transactions
Spring provides container-managed transactions that are similar to a Java Platform, Enterprise Edition application server. However, the Spring mechanism can plug in different implementations. WebSphere eXtreme Scale provides transaction manager integration which allows Spring to manage the ObjectGrid transaction life cycles. See information on native transactions for details.
Spring managed extension beans and namespace support
Also, eXtreme Scale integrates with Spring to allow Spring-style beans defined for extension points or plug-ins. This feature provides more sophisticated configurations and more flexibility for configuring the extension points.
In addition to Spring managed extension beans, eXtreme Scale provides a Spring namespace called "objectgrid". Beans and built-in implementations are pre-defined in this namespace, which makes it easier for users to configure eXtreme Scale.
Shard scope support
With the traditional style Spring configuration, an ObjectGrid bean can either be a singleton type or prototype type. ObjectGrid also supports a new scope called the "shard" scope. If a bean is defined as shard scope, then only one bean is created per shard. All requests for beans with an ID or IDs matching that bean definition in the same shard will result in that one specific bean instance being returned by the Spring container.
The following example shows that a com.ibm.ws.objectgrid.jpa.plugins.JPAPropFactoryImpl bean is defined with scope set to shard. Therefore, only one instance of the JPAPropFactoryImpl class is created per shard.
<bean id="jpaPropFactory" class="com.ibm.ws.objectgrid.jpa.plugins.JPAPropFactoryImpl" scope="shard" />
Spring Web Flow
Spring Web Flow stores its session state in an HTTP session by default. If a web application uses eXtreme Scale for session management, then Spring automatically stores state with eXtreme Scale. Also, fault tolerance will be enabled in the same manner as the session.
For more information, see HTTP session management.
The eXtreme Scale Spring extensions are in the ogspring.jar file. This Java archive (JAR) file must be on the class path for Spring support to work. If a JEE application that is running in a WebSphere Extended Deployment augmented WebSphere Application Server Network Deployment, then the application should place the spring.jar file and its associated files in the EAR modules. You must also place the ogspring.jar file in the same location.
Parent topic:Program for Spring integration
Spring extension beans and namespace support
Manage transactions with Spring
Start a container server with Spring
Configure HTTP session managers
Spring managed extension beans