Scala:接收服务器发送事件

Jak*_*ene 8 scala http server-sent-events spray playframework-2.0

建立:

我正在处理的项目有一个带有HTTP接口的pub/sub服务器.订阅通过接受服务器发送事件来工作.

curl -X GET server:port/topics/news
Run Code Online (Sandbox Code Playgroud)

每当消息发布到给定主题URL时将被推送

curl -X PUT server:port/topics/news -d "Politician Lies!"
Run Code Online (Sandbox Code Playgroud)

问题:

我有一个scala项目需要订阅这个pub/sub服务器.表演!框架能够通过使用带有Enumeratee + Iteratee的PlayWS来处理这个问题.不幸的是,PlayWS库需要Play!应用程序在范围内,我不使用Play.是否有一个库(具有最小的依赖性)我可以使用它允许我接受服务器发送事件?我需要至少一个工作示例才能开始使用.

我喜欢scala库,但如果必须,我愿意接受Java解决方案.

Man*_*rdt 3

你有几种可能性:

在 Play 2.3 中,WS 库现在是一个单独的库,因此这应该会有所帮助。RC2 已经可用

或者,您可以依赖 Play 2.x 并使用StaticApplication如下所示:

val application = new StaticApplication(new java.io.File("."))
Run Code Online (Sandbox Code Playgroud)

这实际上会引导 Play 应用程序,从那里您可以WS像往常一样使用该库