在AOP中从Mono抛出新的RuntimeException

问题描述

在一个方面,我有一个反应性springboot应用程序

@Before("approveRejectPointcut()")
public void logAfterReturning(JoinPoint joinPoint) {
   
    Status newStatus = AspectUtils.returnFirstParameterOfTypeOrFail(allParameters,Status.class,"approveRejectPointcut");
    String comments = AspectUtils.returnFirstParameterOfTypeOrFail(allParameters,String.class,"approveRejectPointcut");
    
    Mono<Object> someObjectOrException = someService.updateApplicationStatus(appId,newStatus,comments);
    
    someObjectOrException
      .subscribe(i->log.info(i),error->{
                log.info("we have some ex: "+error.getMessage());
                throw new RuntimeException("PLEASE LORD: "+error.getMessage()); 
      });
}

这里发生了什么,来自某些服务的updateApplicationStatus()在某个时候抛出了业务异常(很好),在这方面,我打印了异常消息,这也很好。但是,当我尝试引发业务异常(基于它的RuntimeException)时,我可以在控制台中看到此异常,但是它无法到达客户端。 我怀疑它被抛出了另一个线程。有任何线索吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)