Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Cacheable(value="bookCache", key="isbn")
- public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
- System.out.println( Objects.hash("someisbn", new Integer(109), new Integer(434)));
- System.out.println( Objects.hash("someisbn", new Integer(110), new Integer(403)));
- @Cacheable(value="books", key="T(someType).hash(#isbn)")
- public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
- @Cacheable(value="bookCache",
- key="{ #root.methodName, #isbn?.id, #checkWarehouse }")
- public Book findBook(ISBN isbn, boolean checkWarehouse)
- ...
- @Cacheable(value="bookCache",
- key="{ #root.methodName, #asin, #checkWarehouse }")
- public Book findBookByAmazonId(String asin, boolean checkWarehouse)
- ...
- <cache:annotation-driven mode="..." key-generator="cacheKeyGenerator" />
- <bean id="cacheKeyGenerator" class="net.example.cache.CacheKeyGenerator" />
- public class CacheKeyGenerator
- implements org.springframework.cache.interceptor.KeyGenerator {
- @Override
- public Object generate(final Object target, final Method method,
- final Object... params) {
- final List<Object> key = new ArrayList<>();
- key.add(method.getDeclaringClass().getName());
- key.add(method.getName());
- for (final Object o : params) {
- key.add(o);
- }
- return key;
- }
- }
- @Cacheable(value="bookCache", key="T(java.util.Objects).hash(#p0,#p1, #p2)")
- @Cacheable(value="bookCache", key="#checkwarehouse.toString().append(#isbn.toString())")
- @Cacheable(value="bookCache", key="isbn + '_' + checkWarehouse + '_' + includeUsed")
Add Comment
Please, Sign In to add comment