Program with system APIs and plug-ins
A plug-in is a component that provides a function to the pluggable components, which include ObjectGrid and BackingMap.
To most effectively use eXtreme Scale as an in-memory data grid or database processing space, you should carefully determine how best you can maximize performance with available plug-ins.
- Introduction to plug-ins
A WebSphere eXtreme Scale plug-in is a component that provides a certain type of function to the pluggable components that include ObjectGrid and BackingMap. WebSphere eXtreme Scale provides several plug points to allow applications and cache providers to integrate with various data stores, alternative client APIs and to improve overall performance of the cache. The product ships with several default, prebuilt plug-ins, but you can also build custom plug-ins with the application.
- Plug-ins for evicting cache objects
WebSphere eXtreme Scale provides a default mechanism for evicting cache entries and a plug-in for creating custom evictors. An evictor controls the membership of entries in each BackingMap. The default evictor uses a time to live (TTL) eviction policy for each BackingMap. If you provide a pluggable evictor mechanism, it typically uses an eviction policy that is based on the number of entries instead of on time.
- Plug-ins for transforming cached objects
Consider transforming cached objects to increase the performance of the cache. Use the ObjectTransformer plug-in when the processor usage is high. Up to 60-70 percent of the total processor time is spent serializing and copying entries. By implementing the ObjectTransformer plug-in, you can serialize and deserialize objects with the own implementation. Use a CollisionArbiter plug-in to define how change collisions are handled in the domains.
- Plug-ins for versioning and comparing cache objects
Use the OptimisticCallback plug-in to customize versioning and comparison operations of cache objects when you are using the optimistic locking strategy.
- Plug-ins for providing event listeners
Use the ObjectGridEventListener and MapEventListener plug-ins to configure notifications for various events in the eXtreme Scale cache. Listener plug-ins are registered with an ObjectGrid or BackingMap instance like other eXtreme Scale plug-ins and add integration and customization points for applications and cache providers.
- Plug-ins for custom indexing of cache objects
With a MapIndexPlugin plug-in, or index, you can write custom indexing strategies that are beyond the built-in indexes that eXtreme Scale provides.
- Plug-ins for communicating with persistent stores
With an eXtreme Scale Loader plug-in, an ObjectGrid map can behave as a memory cache for data that is typically kept in a persistent store on either the same system or some other system. Typically, a database or file system is used as the persistent store. A remote JVM (JVM) can also be used as the source of data, allowing hub-based caches to be built using ObjectGrid. A loader has the logic for reading and writing data to and from a persistent store.
- Plug-ins for managing transaction life cycle events
Use the TransactionCallback plug-in to customize versioning and comparison operations of cache objects when you are using the optimistic locking strategy.
Related concepts
Program for administrative tasks
Performance considerations for application developers
Related tasks
Access data with client applications
Access data with the REST data service
Program for Spring integration
Related reference
Related information