First: Sorry for my english ;)
Environment:
JBoss 4.3.0 EAP
TreeCache 1.4.1 SP8 and SP10
Hibernate 3.2
If i use an CacheLoader (in my use case the FileCacheLoader) and locking is
PESSIMISTIC and passivation is set to false,
the FileCacheloader doesn't store anything. Only if i change to passivation
true or is user locking OPTIMISTIC.
The Problem/Bug is clear and found in the CacheStoreInterceptor. If PESSIMISTIC
locking is configured,
Hibernate use cache.putfailfast. In this case, the MethodId in
CacheStoreInterceptor is 4 (MethodDeclarations.putFailFastKeyValueMethodLocal).
But this isn't handle in the CacheStoreInterceptor, so no CacheLoader is called.
Original Code:
| switch (m.getMethodId())
| {
| case MethodDeclarations.putDataMethodLocal_id:
| case MethodDeclarations.putDataEraseMethodLocal_id:
| Modification mod = convertMethodCallToModification(m);
| log.debug(mod);
| fqn = mod.getFqn();
|
| loader.put(Collections.singletonList(mod));
| if (cache.getUseInterceptorMbeans()&& statsEnabled)
| m_cacheStores++;
| break;
| case MethodDeclarations.putKeyValMethodLocal_id:
| fqn=(Fqn)args[1];
| key=args[2];
| value=args[3];
| tmp_retval = loader.put(fqn, key, value);
| use_tmp_retval = true;
| if (cache.getUseInterceptorMbeans()&& statsEnabled)
| m_cacheStores++;
| break;
| }
|
Worked Code:
| switch (m.getMethodId())
| {
| case MethodDeclarations.putDataMethodLocal_id:
| case MethodDeclarations.putDataEraseMethodLocal_id:
| Modification mod = convertMethodCallToModification(m);
| log.debug(mod);
| fqn = mod.getFqn();
|
| loader.put(Collections.singletonList(mod));
| if (cache.getUseInterceptorMbeans()&& statsEnabled)
| m_cacheStores++;
| break;
| case MethodDeclarations.putKeyValMethodLocal_id:
| case MethodDeclarations.putFailFastKeyValueMethodLocal:
| fqn=(Fqn)args[1];
| key=args[2];
| value=args[3];
| tmp_retval = loader.put(fqn, key, value);
| use_tmp_retval = true;
| if (cache.getUseInterceptorMbeans()&& statsEnabled)
| m_cacheStores++;
| break;
| }
|
Regards, Holger
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184099#4184099
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4184099
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user