1.使用jetcache,如果要用redis存储java对象,该类必须实现Serializable(本地local不需要)
2.使用jetcache,要加上以下maven插件,否则java在编译的时候,会把方法形参编译成arg0、arg1等,导致cache拿不到key
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerArgument>-parameters</compilerArgument>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
3.Spring的Scheduled是单线程模型的,如果同一时间执行不同的job,job1的执行卡住了,会影响到job2的执行。解决办法是在job上面加异步注解@Async(启动类上要加注解@EnableAsync)
4.在通过反射调用方法的时候
Method method = xxx.getClass().getDeclaredMethod("xxx", Long.class);
这样调用,会报找不到方法的错。但是这样调用不会
Method method = xxx.getClass().getDeclaredMethod("xxx", long.class);
其中,底层方法的参数是包装类型Long,编译成.class文件之后,类型也是Long。目前原因还未知。