java akka future onsuccess onfailure都没有执行
我们正在使用Akka框架进行进程间通信。几天前,QA团队发现了一些陷入困境的请求。对于某些请求,未调用onSuccess()和onFailure()回调方法。最后一行日志显示
"Charging Customer."
特定交易的流程就在这里停止了。下一个日志应该是
"Charging response or Charging Failed"
这种行为的原因可能是什么?是不是因为调度员窒息了?我们使用的是默认的调度程序
代码
log.debug("Charging Customer");
Future future = Patterns.ask(actorSelection, new Gson().toJson(request), timeout);
future.onSuccess(new onChargingSuccess<>(ccRequest), context().system().dispatcher());
future.onFailure(new onFailureHandler(ccRequest), context().system().dispatcher());
private class onChargingSuccess<T> extends OnSuccess<T> {
@Override
public void onSuccess(T t) throws Throwable {
log.debug("Charging response:" + t.toString());
}
private class onFailureHandler extends OnFailure {
@Override
public void onFailure(Throwable thrwbl) throws Throwable {
log.info("Charging Failed");
}
# 1 楼答案
这并不是一个真正的解决方案,但重启模块解决了这个问题。该模块运行了一年。我知道这使它现在成为一个非常普遍的问题,但我将把它保留在这里,以防我们深入研究实际问题并找到解决方案。那样的话我会更新的