Я хочу иметь возможность регистрировать определенные атрибуты сопоставляемого элемента, если возникает исключение, поэтому мне было интересно, есть ли способ получить сопоставляемый элемент, когда выбрасывается исключение потоками akka?
Если у меня есть:
val decider: Supervision.Decider = { e =>
//val item = getItemThatCausedException
logger.error("Exception in stream with itemId:"+item.id, e)
Supervision.Resume
}
implicit val actorSystem = ActorSystem()
val materializerSettings = ActorMaterializerSettings(actorSystem).withSupervisionStrategy(decider)
implicit val materializer = ActorMaterializer(materializerSettings)(actorSystem)
Source(List(item1,item2,item3)).map { item =>
if (item.property < 0) {
throw new RuntimeException("Error")
} else {
i
}
}
Есть ли способ получить неисправный предмет в Supervision.Decider или после того, как карта готова?