我有一个Aspect类(spring-aop)。我有一个建议,它获取一些参数并将其存储在类字段中。第二建议使用这些参数。它用于功能测试,我需要使它们成为线程安全的,因为它可以同时由多个用户运行。我该怎么做?
public class SomeAspect {
private String parameters;
public void saveParameters(JoinPoint jp) {
Object[] args = jp.getArgs();
Object firstArg = args[0];
this.parameters= (String) firstArg;
}
public void useParameters() {
doSmth(parameters);
}
}
最佳答案
我认为您应该使用ThreadLocal
存储parameters
。根据文档,一个请求将通过一个线程处理,因此应该是安全的。文档是here
关于java - 如何在Java中的Aspect类内实现线程安全缓存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14215417/