我试图在Akka Streams中实现ServerSendEvents。我使用actor作为向客户端发送消息的源。因此,当客户端关闭选项卡时,连接将被销毁,因此Actor(作为源)也将被销毁。但是当这个actor或source被销毁时,我找不到注册回调的方法
有什么办法可以获取事件或回调,因为我想在用户断开连接时更新数据库中的某些设置吗?
我尝试使用EventStream.subscribe,但不知道如何获取PostStop或终止事件。
我的Source初始化看起来像这样
Pair<ActorRef,Source<String,NotUsed>> sourcePair = Source.<String>actorRef(100,OverflowStrategy.fail()).preMaterialize(materializer);
在这对系统中,我已将Source分配给eventStreamFlow,以转换为将消息发送给Client以及actorRef以便从任何地方发送消息
我期望像演员一样的PostStop()方法。既然源代码创建了actor,我什至无法设置自己的角色,也无法考虑使用Actor.SourcePublisher api,但是由于它已被贬值,因此就放弃了