diff --git a/pom.xml b/pom.xml
index d2d28e51..8c0f3cd3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 2.9.1
+ 2.10.3
package
diff --git a/src/main/java/com/jarvis/cache/AbstractCacheManager.java b/src/main/java/com/jarvis/cache/AbstractCacheManager.java
index 8a6bca0a..6d31220c 100644
--- a/src/main/java/com/jarvis/cache/AbstractCacheManager.java
+++ b/src/main/java/com/jarvis/cache/AbstractCacheManager.java
@@ -46,7 +46,7 @@ public AutoLoadHandler getAutoLoadHandler() {
* 生成缓存 Key
* @param pjp
* @param cache
- * @return
+ * @return String 缓存Key
*/
private String getCacheKey(ProceedingJoinPoint pjp, Cache cache) {
String className=pjp.getTarget().getClass().getName();
@@ -60,12 +60,13 @@ private String getCacheKey(ProceedingJoinPoint pjp, Cache cache) {
}
return cacheKey;
}
+
/**
* 生成缓存 Key
* @param pjp
* @param cache
* @param result 执行结果值
- * @return
+ * @return 缓存Key
*/
private String getCacheKey(ProceedingJoinPoint pjp, Cache cache, T result) {
String className=pjp.getTarget().getClass().getName();
@@ -84,7 +85,7 @@ private String getCacheKey(ProceedingJoinPoint pjp, Cache cache, T result) {
* 处理@Cache 拦截
* @param pjp
* @param cache
- * @return
+ * @return T 返回值
* @throws Exception
*/
public T proceed(ProceedingJoinPoint pjp, Cache cache) throws Exception {
@@ -143,9 +144,8 @@ private void writeCache(T result, String cacheKey, int expire) {
* @param pjp
* @param autoLoadTO
* @param cacheKey
- * @param cacheManager
* @param expire
- * @return
+ * @return 返回值
* @throws Exception
*/
private T loadData(ProceedingJoinPoint pjp, AutoLoadTO autoLoadTO, String cacheKey, int expire) throws Exception {
@@ -227,10 +227,9 @@ private T getData(ProceedingJoinPoint pjp, AutoLoadTO autoLoadTO) throws Excepti
/**
* 处理@CacheDelete 拦截
- * @param pjp
+ * @param jp
* @param cacheDelete 拦截到的注解
* @param retVal 返回值
- * @throws Exception
*/
public void deleteCache(JoinPoint jp, CacheDelete cacheDelete, Object retVal) {
Object[] arguments=jp.getArgs();
diff --git a/src/main/java/com/jarvis/cache/AutoLoadHandler.java b/src/main/java/com/jarvis/cache/AutoLoadHandler.java
index 9a0cb9bd..3c194995 100644
--- a/src/main/java/com/jarvis/cache/AutoLoadHandler.java
+++ b/src/main/java/com/jarvis/cache/AutoLoadHandler.java
@@ -122,7 +122,7 @@ public void setAutoLoadTO(AutoLoadTO autoLoadTO) {
/**
* 获取自动加载队列,如果是web应用,建议把自动加载队列中的数据都输出到页面中,并增加一些管理功能。
- * @return
+ * @return autoload 队列
*/
public AutoLoadTO[] getAutoLoadQueue() {
if(autoLoadMap.isEmpty()) {
diff --git a/src/main/java/com/jarvis/cache/CacheUtil.java b/src/main/java/com/jarvis/cache/CacheUtil.java
index 36022eab..c1d8238a 100644
--- a/src/main/java/com/jarvis/cache/CacheUtil.java
+++ b/src/main/java/com/jarvis/cache/CacheUtil.java
@@ -30,7 +30,7 @@ public class CacheUtil {
/**
* 生成字符串的HashCode
* @param buf
- * @return
+ * @return int hashCode
*/
private static int getHashCode(String buf) {
int hash=5381;
@@ -45,7 +45,7 @@ private static int getHashCode(String buf) {
/**
* 将Object 对象转换为唯一的Hash字符串
* @param obj
- * @return
+ * @return Hash字符串
*/
public static String getUniqueHashStr(Object obj) {
return getMiscHashCode(BeanUtil.toString(obj));
@@ -54,7 +54,7 @@ public static String getUniqueHashStr(Object obj) {
/**
* 通过混合Hash算法,将长字符串转为短字符串(字符串长度小于等于20时,不做处理)
* @param str
- * @return
+ * @return Hash字符串
*/
public static String getMiscHashCode(String str) {
if(null == str || str.length() == 0) {
@@ -80,7 +80,7 @@ public static String getMiscHashCode(String str) {
* @param keySpEL
* @param arguments
* @param valueType
- * @return
+ * @return EL Value
*/
public static T getElValue(String keySpEL, Object[] arguments, Class valueType) {
return getElValue(keySpEL, arguments, null, valueType);
@@ -92,7 +92,7 @@ public static T getElValue(String keySpEL, Object[] arguments, Class valu
* @param arguments
* @param valueType
* @param retVal
- * @return
+ * @return EL value
*/
public static T getElValue(String keySpEL, Object[] arguments, Object retVal, Class valueType) {
Matcher m=pattern_hash.matcher(keySpEL);
@@ -111,7 +111,7 @@ public static T getElValue(String keySpEL, Object[] arguments, Object retVal
* 生成自定义缓存Key
* @param keySpEL
* @param arguments
- * @return
+ * @return cacheKey
*/
public static String getDefinedCacheKey(String keySpEL, Object[] arguments) {
if(keySpEL.indexOf("#" + ARGS) != -1) {
@@ -126,7 +126,7 @@ public static String getDefinedCacheKey(String keySpEL, Object[] arguments) {
* @param keySpEL
* @param arguments
* @param retVal
- * @return
+ * @return CacheKey
*/
public static String getDefinedCacheKey(String keySpEL, Object[] arguments, Object retVal) {
if(keySpEL.indexOf("#" + ARGS) != -1 || keySpEL.indexOf("#" + RET_VAL) != -1) {
@@ -141,7 +141,7 @@ public static String getDefinedCacheKey(String keySpEL, Object[] arguments, Obje
* @param className 类名称
* @param method 方法名称
* @param arguments 参数
- * @return
+ * @return CacheKey
*/
public static String getDefaultCacheKey(String className, String method, Object[] arguments) {
StringBuilder sb=new StringBuilder();
@@ -158,7 +158,7 @@ public static String getDefaultCacheKey(String className, String method, Object[
* @param method 方法名称
* @param arguments 参数
* @param subKeySpEL SpringEL表达式,arguments 在SpringEL表达式中的名称为args,第一个参数为#args[0],第二个为参数为#args[1],依此类推。
- * @return
+ * @return CacheKey
*/
public static String getDefaultCacheKey(String className, String method, Object[] arguments, String subKeySpEL) {
StringBuilder sb=new StringBuilder();
@@ -175,7 +175,7 @@ public static String getDefaultCacheKey(String className, String method, Object[
* @param method 方法名称
* @param arguments 参数
* @param subKeySpEL SpringEL表达式 ,arguments 在SpringEL表达式中的名称为args,第一个参数为#args[0],第二个为参数为#args[1],依此类推。
- * @return
+ * @return CacheKey
*/
public static String getDefaultCacheKeyPrefix(String className, String method, Object[] arguments, String subKeySpEL) {
StringBuilder sb=new StringBuilder();
@@ -194,7 +194,7 @@ public static String getDefaultCacheKeyPrefix(String className, String method, O
* 是否可以缓存
* @param cache
* @param arguments
- * @return
+ * @return cacheAble
*/
public static boolean isCacheable(Cache cache, Object[] arguments) {
boolean rv=true;
@@ -208,7 +208,7 @@ public static boolean isCacheable(Cache cache, Object[] arguments) {
* 是否可以自动加载
* @param cache
* @param arguments
- * @return
+ * @return autoload
*/
public static boolean isAutoload(Cache cache, Object[] arguments) {
boolean autoload=cache.autoload();
@@ -223,7 +223,7 @@ public static boolean isAutoload(Cache cache, Object[] arguments) {
* @param cacheDeleteKey
* @param arguments
* @param retVal
- * @return
+ * @return Can Delete
*/
public static boolean isCanDelete(CacheDeleteKey cacheDeleteKey, Object[] arguments, Object retVal) {
boolean rv=true;
diff --git a/src/main/java/com/jarvis/cache/ICacheManager.java b/src/main/java/com/jarvis/cache/ICacheManager.java
index b1a79f22..d8677ec6 100644
--- a/src/main/java/com/jarvis/cache/ICacheManager.java
+++ b/src/main/java/com/jarvis/cache/ICacheManager.java
@@ -3,17 +3,40 @@
import com.jarvis.cache.to.CacheWrapper;
/**
+ * 缓存管理
* @author jiayu.qiu
*/
public interface ICacheManager {
+ /**
+ * 往缓存写数据
+ * @param cacheKey 缓存Key
+ * @param result 缓存数据
+ * @param expire 缓存时间
+ */
void setCache(String cacheKey, CacheWrapper result, int expire);
+ /**
+ * 根据缓存Key获得缓存中的数据
+ * @param key 缓存key
+ * @return 缓存数据
+ */
CacheWrapper get(String key);
+ /**
+ * 删除缓存
+ * @param key 缓存key
+ */
void delete(String key);
+ /**
+ * 获取自动加载处理器
+ * @return 自动加载处理器
+ */
AutoLoadHandler getAutoLoadHandler();
+ /**
+ * 销毁:关闭线程
+ */
void destroy();
}
diff --git a/src/main/java/com/jarvis/cache/annotation/Cache.java b/src/main/java/com/jarvis/cache/annotation/Cache.java
index db75079a..0e2c3072 100644
--- a/src/main/java/com/jarvis/cache/annotation/Cache.java
+++ b/src/main/java/com/jarvis/cache/annotation/Cache.java
@@ -18,43 +18,43 @@
/**
* 自定义缓存Key,如果不设置使用系统默认生成缓存Key的方法
- * @return
+ * @return String 自定义缓存Key
*/
String key() default "";
/**
* 是否启用自动加载缓存
- * @return
+ * @return boolean
*/
boolean autoload() default false;
/**
* 自动缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,如果设置了此值,autoload() 就失效,例如:null != #args[0].keyword,当第一个参数的keyword属性为null时设置为自动加载。
- * @return
+ * @return String SpEL表达式
*/
String autoloadCondition() default "";
/**
* 当autoload为true时,缓存数据在 requestTimeout 秒之内没有使用了,就不进行自动加载数据,如果requestTimeout为0时,会一直自动加载
- * @return
+ * @return long 请求过期
*/
long requestTimeout() default 36000L;
/**
* 使用SpEL,将缓存key,根据业务需要进行二次分组(使用默认缓存Key的时候才有效)
- * @return
+ * @return String
*/
String subKeySpEL() default "";
/**
* 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存
- * @return
+ * @return String
*/
String condition() default "";
/**
* 缓存的操作类型:默认是READ_WRITE,先缓存取数据,如果没有数据则从DAO中获取并写入缓存;如果是WRITE则从DAO取完数据后,写入缓存
- * @return
+ * @return CacheOpType
*/
CacheOpType opType() default CacheOpType.READ_WRITE;
}
\ No newline at end of file
diff --git a/src/main/java/com/jarvis/cache/annotation/CacheDeleteKey.java b/src/main/java/com/jarvis/cache/annotation/CacheDeleteKey.java
index 3d6b5a89..c4c25759 100644
--- a/src/main/java/com/jarvis/cache/annotation/CacheDeleteKey.java
+++ b/src/main/java/com/jarvis/cache/annotation/CacheDeleteKey.java
@@ -13,50 +13,50 @@
/**
* 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存
- * @return
+ * @return String
*/
String condition() default "";
/**
* 删除缓存的Key,支持使用SpEL表达式
- * @return
+ * @return String
*/
String value() default "";
/**
* 生成Key的类型
- * @return
+ * @return CacheKeyType
*/
CacheKeyType keyType();
/**
* deleteByPrefixKey 是否根据前缀进行批量删除 只有当 keType为DEFAULT时才有效
- * @return
+ * @return boolean
*/
boolean deleteByPrefixKey() default false;
/**
* 缓存的Class 只有当 keType为DEFAULT时才有效
- * @return
+ * @return Class
*/
@SuppressWarnings("rawtypes")
Class cls() default Class.class;
/**
* 缓存所在的方法名
- * @return
+ * @return String
*/
String method() default "";
/**
* 转换缓存方法的参数,当keyType 为DEFAULT 并且 deleteByPrefixKey=true时才会使用上。
- * @return
+ * @return String[]
*/
String[] argsEl() default "";
/**
* 使用SpEL,将缓存key,根据业务需要进行二次分组(使用默认缓存Key的时候才有效) 只有当 keType为DEFAULT时才有效
- * @return
+ * @return String
*/
String subKeySpEL() default "";
diff --git a/src/main/java/com/jarvis/cache/memcache/CachePointCut.java b/src/main/java/com/jarvis/cache/memcache/CachePointCut.java
index e0b182e4..ea24c2b3 100644
--- a/src/main/java/com/jarvis/cache/memcache/CachePointCut.java
+++ b/src/main/java/com/jarvis/cache/memcache/CachePointCut.java
@@ -55,7 +55,6 @@ public void delete(String key) {
* @param method
* @param arguments
* @param subKeySpEL
- * @param deleteByPrefixKey 是否批量删除
*/
public void deleteByDefaultCacheKey(@SuppressWarnings("rawtypes") Class cs, String method, Object[] arguments, String subKeySpEL) {
String cacheKey=CacheUtil.getDefaultCacheKey(cs.getName(), method, arguments, subKeySpEL);
diff --git a/src/main/java/com/jarvis/cache/redis/StringRedisSerializer.java b/src/main/java/com/jarvis/cache/redis/StringRedisSerializer.java
index 7133aa97..a095d36d 100644
--- a/src/main/java/com/jarvis/cache/redis/StringRedisSerializer.java
+++ b/src/main/java/com/jarvis/cache/redis/StringRedisSerializer.java
@@ -5,10 +5,12 @@
/**
* Simple String to byte[] (and back) serializer. Converts Strings into bytes and vice-versa using the specified charset (by default
* UTF-8).
- *
+ *
* Useful when the interaction with the Redis happens mainly through Strings.
- *
+ *
+ *
* Does not perform any null conversion since empty strings are valid keys/values.
+ *
*/
public class StringRedisSerializer implements RedisSerializer {
diff --git a/src/main/java/com/jarvis/cache/to/AutoLoadTO.java b/src/main/java/com/jarvis/cache/to/AutoLoadTO.java
index 2e303577..f55abb82 100644
--- a/src/main/java/com/jarvis/cache/to/AutoLoadTO.java
+++ b/src/main/java/com/jarvis/cache/to/AutoLoadTO.java
@@ -151,7 +151,7 @@ public void addUseTotalTime(long useTime) {
/**
* 平均用时
- * @return
+ * @return long 用时
*/
public long getAverageUseTime() {
if(loadCnt == 0) {
diff --git a/src/main/java/com/jarvis/cache/type/CacheOpType.java b/src/main/java/com/jarvis/cache/type/CacheOpType.java
index b71dacb0..074b8621 100644
--- a/src/main/java/com/jarvis/cache/type/CacheOpType.java
+++ b/src/main/java/com/jarvis/cache/type/CacheOpType.java
@@ -2,7 +2,7 @@
/**
* 缓存操作类型
- * @author jarvis
+ * @author jiayu.qiu
*/
public enum CacheOpType {
/**
diff --git a/src/main/java/com/jarvis/lib/util/BeanUtil.java b/src/main/java/com/jarvis/lib/util/BeanUtil.java
index e6c6477f..3214fc7a 100644
--- a/src/main/java/com/jarvis/lib/util/BeanUtil.java
+++ b/src/main/java/com/jarvis/lib/util/BeanUtil.java
@@ -23,7 +23,7 @@ public class BeanUtil {
/**
* 是否为基础数据类型
* @param obj
- * @return
+ * @return boolean
*/
private static boolean isPrimitive(Object obj) {
return obj.getClass().isPrimitive() || obj instanceof String || obj instanceof Integer || obj instanceof Long
@@ -34,7 +34,7 @@ private static boolean isPrimitive(Object obj) {
/**
* 把Bean转换为字符串
* @param obj
- * @return
+ * @return String
*/
@SuppressWarnings("rawtypes")
public static String toString(Object obj) {
@@ -125,13 +125,18 @@ public static String toString(Object obj) {
/**
* 通过序列化进行深度复制
* @param obj
- * @return
+ * @return Object
* @throws Exception
*/
public static Object deepClone(Object obj) throws Exception {
return deserialize(serialize(obj));
}
+ /**
+ * @param obj
+ * @return byte[]
+ * @throws IOException
+ */
public static byte[] serialize(Object obj) throws IOException {
if(null == obj) {
return null;
@@ -144,6 +149,11 @@ public static byte[] serialize(Object obj) throws IOException {
return bo.toByteArray();
}
+ /**
+ * @param bytes
+ * @return Object
+ * @throws Exception
+ */
public static Object deserialize(byte[] bytes) throws Exception {
if(null == bytes || bytes.length == 0) {
return null;