我有一个正确配置的 http 调用程序设置并处于工作状态。对于身份验证,我使用 AOP,它本质上根据各种标准(如 Web 上下文、用户名密码等)将身份验证位添加到本地线程中。
而现在,问题。当@service end 收到呼叫时,我的服务对身份验证位进行了讨论。经过仔细调试,我意识到从未调用过相应的方面。
这是将身份验证位添加到线程本地的方面的相关代码。
@Before(value = "execution(public * provision(..))")
public void authenticate(){...}
这是被调用的服务方法。
public ServiceResponse provision(String xyz, String abc){...}
如果我在本地设置中调用“provision()”方法,则会调用方面。但是当通过http-invoker调用这个方法时,它不会被调用吗?我怎样才能优雅地规避这个问题?(我有一个解决方案,我将身份验证部分添加到 provision() 方法中,但这妨碍了我的测试能力和 SRP。