有一个java类" Test2"包含4-5个方法,并且只有1个方法(notifyTransferStatus)我想将可事件注释作为。方法执行没有问题,但注释不起作用。
@Eventable(name = TransferStatus)
public ResponseEntity<String> notifyTransferStatus(EventRequest request) {
//method execution successfully
JSONObject jsonRequestPayload = createJsonData(callEvent, transferStatus, request);
LOG.info("jsonRequestPayload created successfully");
clientResponse = transferUtil.notify(transferStatusUrl, jsonRequestPayload);
}
对应的Aspect类。
@SuppressWarnings("unchecked")
@Around("(execution(* com.test.Test1.*(..))" +
"|| execution(* com.test.Test2.*(..))" +
")" + " && @annotation(eventableAnnotation)")
public Object eventProcessingAdvice(ProceedingJoinPoint proceedingJoinPoint, Eventable eventableAnnotation) throws Throwable {
//some logic for handling annotation
// use name if provided
if (eventableAnnotation.name() != null) {
eventId = eventableAnnotation.name();
counterName = eventId;
}
}
所以,上面的方法&#34; notifyTransferStatus&#34;是Test2类的一部分,注释不起作用,逻辑在方法内完美执行。
但是Test1.java只包含一个方法,并且注释工作正常。
所以基本的区别是一个类只包含1个方法,而其他类包含4-5个方法。