我正在将 Spray 用于 REST 端点。
如何访问特征中现有的 ActorSystem
?
我不想在我的特征中创建一个新的 ActorSystem
(如果可能的话),而是重用我现有的 ActorSystem
。我正在使用 this Redis 客户端库。
trait MySprayService extends HttpService with Json4sSupport {
//the following line requires an implicit ActorSystem
val redis = RedisClient(ip,port)
....
....
val simpleRoute = path("simple" / "route") {
get {
complete {
//use Redis here
}
}
}
}
最佳答案
您可以创建返回 ActorSystem 的抽象方法,然后在将扩展此特征的类中交付实现。
trait MySprayService extends HttpService with Json4sSupport {
implicit def as: ActorSystem
//the following line requires an implicit ActorSystem
val redis = RedisClient(ip,port)
....
....
val simpleRoute = path("simple" / "route") {
get {
complete {
//use Redis here
}
}
}
}
关于scala - 在 trait 中访问现有的 ActorSystem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25472019/