[
https://issues.jboss.org/browse/ISPN-7783?page=com.atlassian.jira.plugin....
]
Roman Chigvintsev updated ISPN-7783:
------------------------------------
Steps to Reproduce:
1). Configure cache in invalidation mode in XML:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns="urn:infinispan:config:8.2">
<cache-container default-cache="default">
<transport cluster="jcache-cluster"/>
<invalidation-cache-configuration name="user" mode="SYNC"
statistics="true"/>
</cache-container>
</infinispan>
{code}
2). Provide cache loader configuration through JCache API:
{code:java}
new MutableConfiguration<String, User>()
.setReadThrough(true).setStoreByValue(true)
.setCacheLoaderFactory(FactoryBuilder.factoryOf(UserCacheLoader.class));
{code}
Cache loader can be trivial:
{code:java}
public class UserCacheLoader implements CacheLoader<String, User> {
@Override
public User load(String username) {
return new User(username);
}
}
{code}
3). Load serveral users into the cache.
4). Call `javax.cache.Cache.removeAll()` method on the cache instance.
was:
*Configure cache in invalidation mode in XML:*
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns="urn:infinispan:config:8.2">
<cache-container default-cache="default">
<transport cluster="jcache-cluster"/>
<invalidation-cache-configuration name="user" mode="SYNC"
statistics="true"/>
</cache-container>
</infinispan>
{code}
*Provide cache loader configuration through JCache API:*
{code:java}
new MutableConfiguration<String, User>()
.setReadThrough(true).setStoreByValue(true)
.setCacheLoaderFactory(FactoryBuilder.factoryOf(UserCacheLoader.class));
{code}
Cache loader can be trivial:
{code:java}
public class UserCacheLoader implements CacheLoader<String, User> {
@Override
public User load(String username) {
return new User(username);
}
}
{code}
*Load serveral users into the cache.*
*Call `javax.cache.Cache.removeAll()` method on the cache instance.*
ClassCastException in case of configured read-through cache with some
cache loader
----------------------------------------------------------------------------------
Key: ISPN-7783
URL:
https://issues.jboss.org/browse/ISPN-7783
Project: Infinispan
Issue Type: Bug
Components: JCache
Affects Versions: 8.2.1.Final, 9.0.0.Final
Reporter: Roman Chigvintsev
When cache is configured through JCache API as a read-through cache with some cache
loader Infinispan puts cache values provided by that loader in place of keys. It causes
`java.lang.ClassCastException` after calling of `javax.cache.Cache.removeAll` method.
Iteration on cache also turns out to be broken.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)