[infinispan-issues] [JBoss JIRA] (ISPN-7224) Support synchronous get in Spring's cache abstraction

Sebastian Łaskawiec (JIRA) issues at jboss.org
Wed Apr 12 07:38:01 EDT 2017


    [ https://issues.jboss.org/browse/ISPN-7224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13392903#comment-13392903 ] 

Sebastian Łaskawiec commented on ISPN-7224:
-------------------------------------------

After talking with [~pruivo] and [~dan.berindei] about this, we have a couple of options:
* For Embedded mode:
** We can implement lightweight locking (in JDK sense) in {{CacheDelegate}}. With a [small change (currently {{SpringEmbeddedCacheManager}} always return new SpringCache instance)|https://github.com/infinispan/infinispan/blob/313b19301055c6267c6f2ea9065a7ab1b68099fe/spring/spring4/spring4-embedded/src/main/java/org/infinispan/spring/provider/SpringEmbeddedCacheManager.java#L41] it should work fine within a single {{SpringEmbeddedCacheManager}}.
** For full support we need pessimistic transactions (which do the locking). This is definitely a heavyweight solution. 
* For Client/Server mode
** For better support we should probably wait for Hot Rod transactions (which will happen soon).
** But to start with something, we could implement lightweight locking as I proposed in Embedded mode. 

> Support synchronous get in Spring's cache abstraction
> -----------------------------------------------------
>
>                 Key: ISPN-7224
>                 URL: https://issues.jboss.org/browse/ISPN-7224
>             Project: Infinispan
>          Issue Type: Feature Request
>          Components: Spring Integration
>            Reporter: Stéphane Nicoll
>            Assignee: Sebastian Łaskawiec
>            Priority: Critical
>             Fix For: 9.0.0.Beta1, 9.0.0.Final
>
>
> Spring Framework 4.3 has introduced a read-through option See https://jira.spring.io/browse/SPR-9254 for more details. In practice this would require you to compile against 4.3 and implement the additional method. 
> The code is meant to be backward compatible with previous version, as long as you're guarding the new exception in an inner class, see [this implementation for an example|https://github.com/hazelcast/hazelcast/blob/37ba79c4a8d35617c5f6a770eec3705f2852f938/hazelcast-spring/src/main/java/com/hazelcast/spring/cache/HazelcastCache.java#L162-L168]
> Let me know if I can help.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)



More information about the infinispan-issues mailing list