Un plug-in de WebSphere eXtreme
Scale es un componente que proporciona un determinado tipo de función a los componentes conectables que incluyen ObjectGrid y BackingMap. WebSphere eXtreme
Scale proporciona varios puntos de conexión para permitir a las aplicaciones y a los proveedores de memoria caché integrarse con distintos almacenes de datos, las API de cliente alternativas y para mejorar el rendimiento general de la memoria caché. El producto se entrega con varios plug-ins predeterminados y preincorporados, pero también puede crear plug-ins personalizados con la aplicación.
Todos los plug-ins son clases concretas que implementan una o más interfaces de plug-in de eXtreme Scale. ObjectGrid crea instancias de estas clases y
las invoca cuando conviene. ObjectGrid y BackingMaps permiten que se registren
plug-ins personalizados.
Plug-ins ObjectGrid
Están disponibles los plug-ins siguientes
para una instancia de ObjectGrid. Si el plug-in es solo del lado del servidor, los plug-ins se eliminan en las instancias de ObjectGrid y BackingMap del cliente. Las instancias de ObjectGrid y BackingMap solo están en el servidor.
- TransactionCallback: un plug-in TransactionCallback proporciona sucesos de ciclo de vida de transacción. Si el plug-in TransactionCallback plug-in es la clase de implementación incorporada JPATxCallback (com.ibm.websphere.objectgrid.jpa.JPATxCallback),
el plug-in es solo el lado del servidor. Sin embargo, las subclases de la clase JPATxCallback no son solo del lado del servidor.
- ObjectGridEventListener: un plug-in ObjectGridEventListener proporciona sucesos de ciclo de vida de
ObjectGrid para ObjectGrid, los fragmentos y las transacciones.
- ObjectGridLifecycleListener: un plug-in
ObjectGridLifecycleListener
proporciona sucesos de ciclo de vida de ObjectGrid para la instancia de ObjectGrid.
El plug-in ObjectGridLifecycleListener se puede utilizar como una interfaz combinada opcional para todos los demás plug-ins de ObjectGrid.
- ObjectGridPlugin:
un ObjectGridPlugin es una interfaz mixin opcional que proporciona sucesos de gestión de ciclo de vida ampliados para todos los demás plug-ins de ObjectGrid.
- SubjectSource, ObjectGridAuthorization, SubjectValidation: eXtreme Scale proporciona varios puntos finales de seguridad para permitir que se integren mecanismos de autenticación personalizados con eXtreme Scale.(Sólo en el servidor)
Requisitos comunes de los plug-ins de ObjectGrid
ObjectGrid crea instancia de plug-in y las inicializa mediante los convenios de JavaBeans. Todas las implementaciones de
plug-in anteriores tienen estos requisitos:
- La clase de plug-in debe ser una clase pública de nivel superior.
- La clase de plug-in debe proporcionar un constructor público sin argumentos.
- La clase de plug-in debe estar disponible en la vía de acceso de clase para
servidores y clientes (como convenga).
- Los atributos se deben establecer utilizando los métodos de propiedad del estilo JavaBeans.
- Los plug-ins, a menos que se especifique lo contrario, se registran antes de que se inicialice ObjectGrid
y no se pueden modificar una vez inicializado ObjectGrid.
Plug-ins de BackingMap
Los plug-ins siguientes están
disponibles para un objeto BackingMap:
- Evictor: un plug-in de desalojador es un mecanismo predeterminado proporcionado para desalojar entradas de memoria caché y un plug-in para crear desalojadores personalizados.
ObjectTransformer: un plug-in ObjectTransformer le permite
serializar, deserializar y copiar objetos en la memoria caché. La interfaz ObjectTransformer ha sido sustituida por los plug-ins DataSerializer, que puede utilizar para almacenar eficientemente datos arbitrarios en WebSphere eXtreme
Scale de modo que las API existentes del producto puedan interactuar eficazmente con los datos.
OptimisticCallback: un plug-in OptimisticCallback le permite personalizar las operaciones de mantenimiento de versiones y comparación de objetos de memoria caché al utilizar la estrategia de bloqueo optimista. El plug-in OptimisticCallback
ha sido sustituido por la interfaz ValueDataSerializer.Versionable,
que puede implementar al utilizar el plug-in DataSerializer con la modalidad de copia COPY_TO_BYTES o al utilizar la anotación @Version con la API EntityManager.
- MapEventListener: un plug-in MapEventListener proporciona notificaciones de devolución de llamada y cambios de estado de memoria caché significativos que se producen para
BackingMap.
- BackingMapLifecycleListener: un plug-in BackingMapLifecycleListener
proporciona sucesos de ciclo de vida de BackingMap para la instancia de BackingMap.
El plug-in BackingMapLifecycleListener se puede utilizar como una interfaz mixin opcional para todos los demás plug-ins BackingMap.
- BackingMapPlugin:
un BackingMapPlugin es una interfaz mixin opcional que proporciona sucesos de gestión de ciclo de vida ampliados para todos los demás plug-ins BackingMap.
- Indexing: utilice la característica de indexación, representada por el plug-in
MapIndexplug-in, para generar un índice o varios índices en una correlación de
BackingMap para soportar el acceso de datos que no son clave.
- Loader: un plug-in Loader en una correlación de ObjectGrid actúa como una memoria caché para los datos que normalmente se conservan en un almacén persistente o en el mismo sistema o en algún otro sistema. (Sólo en el servidor)
- MapSerializerPlugin: un MapSerializerPlugin le permite serializar e inflar objetos Java y datos no Java en la memoria caché. Se utiliza con las interfaces combinadas DataSerializer, lo que permite contar con unas opciones robustas y flexibles para unas aplicaciones de alto rendimiento.