com.gitee.l0km.aocache.annotations.AoCacheable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aocache Show documentation
Show all versions of aocache Show documentation
call/execution caching utility based on aspectj
package com.gitee.l0km.aocache.annotations;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;
/**
* 可缓存方法定义注解
* 也可以作为元注解(meta-annotation)定义在注解上,用于指定标记的注解是定义缓存配置的注解
* @author guyadong
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.CONSTRUCTOR,ElementType.ANNOTATION_TYPE })
public @interface AoCacheable {
/**
* 是否输出调试信息
*/
boolean debugOutput()default false;
/**
* 是否输出详细调试信息
*/
boolean debugOutputDetail()default false;
/**
* 是否输出切面调用耗时信息
*/
boolean outputAroundCost()default false;
/**
* 为{@code true}则KEY为弱引用类型
* @see com.google.common.cache.CacheBuilder#weakKeys()
*/
boolean weakKeys() default false;
/**
* 为{@code true}则VALUE为弱引用类型,并忽略{@link #softValues()}定义
* @see com.google.common.cache.CacheBuilder#weakValues()
*/
boolean weakValues() default false;
/**
* 为{@code true}则VALUE为软引用类型
* @see com.google.common.cache.CacheBuilder#softValues()
*/
boolean softValues() default false;
/**
* 设置内部哈希表的最小总大小
* @see com.google.common.cache.CacheBuilder#initialCapacity(int)
*/
int initialCapacity() default -1;
/**
* 指定更新操作之间允许的并发性
* @see com.google.common.cache.CacheBuilder#concurrencyLevel(int)
*/
int concurrencyLevel() default 0;
/**
* 指定缓存可以包含的最大条目数
* @see com.google.common.cache.CacheBuilder#maximumSize(long)
*/
long maximumSize() default -1;
/**
* 指定缓存中可能包含的项的最大权重
* @see com.google.common.cache.CacheBuilder#maximumWeight(long)
*/
long maximumWeight() default -1;
/**
* 指定在创建条目或最近替换其值后经过固定的持续时间后,应自动从缓存中删除每个条目
* @see com.google.common.cache.CacheBuilder#expireAfterWrite(long, TimeUnit)
*/
long expireAfterWrite() default -1;
/**
* {@link #expireAfterWrite() }的时间单位
* @see com.google.common.cache.CacheBuilder#expireAfterWrite(long, TimeUnit)
*/
TimeUnit expireAfterWriteTimeUnit() default TimeUnit.MINUTES;
/**
* 指定在创建条目、最近一次替换其值或最后一次访问之后经过固定的持续时间后,应自动从缓存中删除每个条目
* @see com.google.common.cache.CacheBuilder#expireAfterAccess(long, TimeUnit)
*/
long expireAfterAccess() default -1;
/**
* {@link #expireAfterAccess() }的时间单位
* @see com.google.common.cache.CacheBuilder#expireAfterAccess(long, TimeUnit)
*/
TimeUnit expireAfterAccessTimeUnit() default TimeUnit.MINUTES;
/**
* 指定活动条目的创建或其值的最新替换后经过固定的持续时间后,活动条目的自动刷新条件
* @see com.google.common.cache.CacheBuilder#refreshAfterWrite(long, TimeUnit)
*/
long refreshAfterWrite() default -1;
/**
* {@link #refreshAfterWrite() }的时间单位
* @see com.google.common.cache.CacheBuilder#refreshAfterWrite(long, TimeUnit)
*/
TimeUnit refreshAfterWriteTimeUnit() default TimeUnit.MINUTES;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy