Ryan Emerson created ISPN-9846:
----------------------------------
Summary: Ensure Backwards Compatibility with Persistence SPI changes
Key: ISPN-9846
URL:
https://issues.jboss.org/browse/ISPN-9846
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 10.0.0.Alpha2
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Fix For: 10.0.0.Beta1
ISPN-9693 deprecated the {{org.infinispan.marshall.core.MarshalledEntry}} interface in
favour of {{org.infinispan.persistence.spi.MarshalledEntry}}, however this breaks
compatibility with 9.4.x stores as the method signatures of the various store/loader
interfaces changed.
Therefore, to aid with enabling backwards compatibility it is necessary to change
{{spi.MarshalledEntry}} to {{spi.MarshallableEntry}} as well as the corresponding factory.
This is necessary as the InitializationContext previously exposed
{{marshall.core.MarshalledEntry}} and the naming change provides us an easy way to
differentiate the context methods as we can't have two getMarshalledEntryFactory
methods due to type erasure.
Due to type erasure it is also necessary to introduce several new methods to the
writer/loader methods. Deprecated/Replacement method list below:
* CacheLoader MarshalledEntry load(Object) -> MarshallableEntry loadEntry(Object)
* AdvancedCacheLoader Publisher<MarshalledEntry<K, V>> publishEntries(..)
-> Publisher<MarshallableEntry<K, V>> entryPublisher(...)
* CacheWriter writeBatch(Iterable<MarshalledEntry>) -> writeBulk(Publisher)-
InitializationContextgetMarshalledEntryFactory->getMarshallableEntryFactory`
--
This message was sent by Atlassian Jira
(v7.12.1#712002)