Releases: alibaba/jetcache
Releases · alibaba/jetcache
v2.5.1
- Add postCondition to Cached annotation
- CacheUpdate and CacheInvalidate now support reference method result in SpEL script
- Fix bug in LoadingCache that method getAll does not respect to cacheNullValue config
- Fix bug that null value put into cache when value script of CacheUpdate annatation evaluate fails
- Optimize memory performance of JavaValueEncoder and KryoValueEncoder
- Fix scope of JUnit4
v2.5.0
- Compatibility Note: ClassCastException may occurs when upgrade directly from versions <=2.3.3 and MultiLevelCache(or cacheType=CacheType.BOTH) is used. To solve this problem, upgrade to 2.4.4 and deploy it to product env first, then upgrade to 2.5.0 or above.
- Add penetration protect feature. Only one thread execute loader when cache miss. Add @CachePenetrationProtect. Affected methods include AbstractCache#computeIfAbsent, LoadingCache#get, LoadingCache#getAll.
- Allow set expire of local and remote sub cache respectively, in MultiLevelCache. Add useExpireOfSubCache to MultiLevelCache, add localExpire to @cached and @CreateCache. This may break remote value compatibility of MultiLevelCache, version <=2.3.3
- Annotations on sub classes will override annotations on interfaces and super class
- Add targetClass to NameGenerator.generateCacheName, see #46
- Update minor version of dependencies
v2.4.4
- Automatically detect encode type before decode, so no error occurs after changing encoder/decoder for a remote cache.
- Add useIdentityNumber option to Encoder/Decoder
- Support using a Spring bean as KeyConvertor/ValueEncoder/ValueDecoder
- Add CacheNameGenerator, now you can customize your own CacheNameGenerator by overwriting SpringConfigProvider
- Fix bug: configProvider in CacheContext is not init properly
- Add areaInCacheName in GlobalCacheConfig
v2.4.3
v2.4.2
v2.4.1
v2.3.5
v2.4.0
- introduce
@CacheInvalidate
and@CacheUpdate
for removing or updating method cache @Cached
support specify key using SpEL inkey
attribute- bugfix: ClassCastException occurs when different application server connect to same remote cache server using different cacheType(
CacheType.REMOTE
orCacheType.BOTH
).