All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.l0km.aocache.annotations.AoCacheable Maven / Gradle / Ivy

There is a newer version: 0.4.5
Show newest version
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