[infinispan-issues] [JBoss JIRA] (ISPN-5131) Deploy custom cache store to Infinispan Server
Sebastian Łaskawiec (JIRA)
issues at jboss.org
Tue Jun 16 03:54:03 EDT 2015
[ https://issues.jboss.org/browse/ISPN-5131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sebastian Łaskawiec updated ISPN-5131:
--------------------------------------
Description:
h2. Overview
Support the deployment and configuration of a custom cache store.
h2. Client Perspective
The client will be able to deploy a custom Cache Store jar into Hotrod server (put it into $HOTROD_SERVER/standalone/deployments). The jar will need to contain one of the following service entries:
* /META-INF/services/org.infinispan.persistence.spi.AdvancedCacheWriter
* /META-INF/services/org.infinispan.persistence.spi.AdvancedCacheLoader
* /META-INF/services/org.infinispan.persistence.spi.CacheLoader
* /META-INF/services/org.infinispan.persistence.spi.CacheWriter
* /META-INF/services/org.infinispan.persistence.spi.ExternalStore
* /META-INF/services/org.infinispan.persistence.spi.AdvancedLoadWriteStore
Those services might used later used in the configuration.
h2. Implementation overview
Refer to the [Implementation details on Wiki page|https://github.com/infinispan/infinispan/wiki/Custom-Cache-stores-(deployable)]
was:
h2. Overview
Support the deployment and configuration of a custom cache store.
h2. Client Perspective
In order to create a deployable Cache Store the client will have to implement {{AdvancedLoadWriteStoreFactory}} (which will contain factory methods for creating {{AdvancedLoadWriteStore}}). Next, the factory will have to be annotated with {{@NamedFactory}} and placed into a jar together with proper entry of {{META-INF/services/org.infinispan.persistence.AdvancedLoadWriteStoreFactory}}. The last activity is to deploy given jar into Hotrod server.
h2. Implementation overview
The implementation is based on Deployable Filters and Converters.
Currently all writers and loaders are instantiated in {{PersistenceManagerImpl#createLoadersAndWriters}}. This implementation will be modified to use {{CacheStoreFactoryRegistry}}, which will contain a list of {{CacheStoreFactories}}. One of the factories will be added by default - the local one (which will the same mechanism as we do now - {{Util.getInstance(classAnnotation)}}. Other {{CacheStoreFactories}} will be added after deployment scanning.
h2. Implementation doubts and questions:
* Should we expose a factory for {{AdvancedLoadWriteStore}} or should we include also {{ExternalStore}} (or even separate factory for {{CacheLoader}} and {{CacheWriter}}?
** YES, we should expose all of them.
* How to ensure that deployment scanning has finished before creating instantiating {{AdvancedLoadWriteStore}}?
** Using {{org.infinispan.server.endpoint.subsystem.EndpointSubsystemAdd}}
> Deploy custom cache store to Infinispan Server
> ----------------------------------------------
>
> Key: ISPN-5131
> URL: https://issues.jboss.org/browse/ISPN-5131
> Project: Infinispan
> Issue Type: Feature Request
> Components: Loaders and Stores, Server
> Reporter: Tristan Tarrant
> Assignee: Sebastian Łaskawiec
> Fix For: 7.2.0.Final
>
>
> h2. Overview
> Support the deployment and configuration of a custom cache store.
> h2. Client Perspective
> The client will be able to deploy a custom Cache Store jar into Hotrod server (put it into $HOTROD_SERVER/standalone/deployments). The jar will need to contain one of the following service entries:
> * /META-INF/services/org.infinispan.persistence.spi.AdvancedCacheWriter
> * /META-INF/services/org.infinispan.persistence.spi.AdvancedCacheLoader
> * /META-INF/services/org.infinispan.persistence.spi.CacheLoader
> * /META-INF/services/org.infinispan.persistence.spi.CacheWriter
> * /META-INF/services/org.infinispan.persistence.spi.ExternalStore
> * /META-INF/services/org.infinispan.persistence.spi.AdvancedLoadWriteStore
> Those services might used later used in the configuration.
> h2. Implementation overview
> Refer to the [Implementation details on Wiki page|https://github.com/infinispan/infinispan/wiki/Custom-Cache-stores-(deployable)]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the infinispan-issues
mailing list