Spring Cache Simple Key Generator

GeneratorPermalink

  1. If you first call #getModel1 with 1 and then call #getModel2 with 1 then Spring Cache will return the value that #getModel1 returned because all the method arguments are equal. This is almost certainly not what you want. The following key generator solves this issue.
  2. Feb 05, 2018  This list of Spring cache annotation tips and tricks will help clarify. It is also easy to lose track of the actual cache key that is being used. Use the key property or a custom key.

Join GitHub today

Primary Key Generation Using Table Generator. At this example, you would be seeing a database table for generating a primary keys. Anatomy of @TableGenerator. The @TableGenerator annotation defines a primary key generator that may be referenced by name when a generator element is specified for the @GeneratedValue.

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Sign upGenerator
Branch:master
Find file Copy path

Spring Cache Simple Key Generator Reviews

4 contributors

Signal Magnet

Spring Cache Simple Key Generator

Simple Key Autozone

Spring Cache Simple Key Generator Free

/*
* Copyright 2002-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
packageorg.springframework.cache.interceptor;
importjava.lang.reflect.Method;
/**
* Simple key generator. Returns the parameter itself if a single non-null
* value is given, otherwise returns a {@link SimpleKey} of the parameters.
*
* <p>No collisions will occur with the keys generated by this class.
* The returned {@link SimpleKey} object can be safely used with a
* {@link org.springframework.cache.concurrent.ConcurrentMapCache}, however,
* might not be suitable for all {@link org.springframework.cache.Cache}
* implementations.
*
* @author Phillip Webb
* @author Juergen Hoeller
* @since 4.0
* @see SimpleKey
* @see org.springframework.cache.annotation.CachingConfigurer
*/
publicclassSimpleKeyGeneratorimplementsKeyGenerator {
@Override
publicObjectgenerate(Objecttarget, Methodmethod, Object... params) {
return generateKey(params);
}
/**
* Generate a key based on the specified parameters.
*/
publicstaticObjectgenerateKey(Object... params) {
if (params.length 0) {
returnSimpleKey.EMPTY;
}
if (params.length 1) {
Object param = params[0];
if (param !=null&&!param.getClass().isArray()) {
return param;
}
}
returnnewSimpleKey(params);
}
}

Spring Boot Cache Key

  • Copy lines
  • Copy permalink