我有一个芹菜设置,使用两个不同的服务器来处理任务.我正在试图找出匹配任务完成的服务器的最佳方法.我查看了文档,但没有看到任何关于从AsyncResult检索主机名的信息.
关于此事的任何意见表示赞赏.我想要尝试的另一个选择是简单地将主机名放在每个芹菜配置中,虽然这种方法不是很理想,因为它还有一件事需要记住.
我有一些问题试图让我的建议执行.我尝试了几个不同的切入点无济于事."@EnableAspectJProxy"似乎正在工作并检测我的方面.任何建议表示赞赏.
我正在使用spring-boot-aop-starter.
@Aspect
@Component
public class ExecutionTimeLogger {
private Logger logger;
public ExecutionTimeLogger() {
logger = LoggerFactory.getLogger(getClass());
logger.info("HEY");
}
@Pointcut("within(@org.springframework.stereotype.Controller *)")
public void controller() {}
@Pointcut("execution(* edu.x.y.z.server.web.controller.*.*(*))")
public void methodPointcut() {}
@Pointcut("within(@org.springframework.web.bind.annotation.RequestMapping *)")
public void requestMapping() {}
@Around("controller() && methodPointcut() && requestMapping()")
public Object profile(ProceedingJoinPoint pjp) throws Throwable {
StopWatch sw = new StopWatch();
String name = pjp.getSignature().getName();
try {
sw.start();
return pjp.proceed();
} finally {
sw.stop();
logger.info("STOPWATCH: " + sw.getTime() + " - " + name);
}
}
} …Run Code Online (Sandbox Code Playgroud)