当演员被SSE摧毁时如何获得回叫

时间:2019-04-02 15:07:10

标签: java akka actor akka-stream eventsource

我试图在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,但是由于它已被贬值,因此就放弃了

0 个答案:

没有答案