我有一个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/

10-11 22:38
查看更多