10分钟内重复的消息只处理一次
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
private static final Cache<Object, Object> msgCache = CacheBuilder.newBuilder().maximumSize(1000)
.expireAfterWrite(10, TimeUnit.MINUTES).build();
boolean msg(message){
// 10分钟内重复的消息只处理一次
if (msgCache.getIfPresent(message) != null) {
log.error("error, msg hit cache ." + message);
return true;
} else {
msgCache.put(message, 1l);
}
do something ...
}