Я использую Akka HTTP для поддержки REST, и мне нужно использовать Actors в другой части сервера, который я разрабатываю. Насколько я понимаю, обычно нужно использовать только ОДИН экземпляр ActorSystem во всем приложении. Из определения akka.http.scaladsl.Http.apply () кажется, что когда я использую метод Http, как в фрагменте из моего кода ниже -
val service: FooRestService = new FooRestService()
Http(). bindAndHandle(service.route, "localhost", 8080) // something is supplying the imply method w/ implicit ActorSystem !
--- каким-то образом метод apply () объекта Http получает неявный экземпляр ActorSystem ... Для удобства Http.apply () определяется следующим образом:
package akka.http.scaladsl.Http
...
object Http {
...
def apply()(implicit system: ActorSystem): HttpExt = super.apply(system)
Поскольку мне нужно придерживаться только одного экземпляра ActorSystem, я хочу предоставить другой (не REST) код на основе Actor в моей системе с той же ссылкой, что и тот, который предоставляется методу Http apply ().
Я догадывался, что мой код должен выполнять импорт пакета с объектом пакета с неявной ActorSystem, или должен быть какой-то другой способ, которым это неявное проскальзывает, как ниндзя в глухую ночь. Я немного ковырялся, но не мог понять; ^ (
Любые предложения очень ценятся!