私はPlay & Akkaを使用してWebサービスを構築しましたが、今ではWebサービスがクライアントである別のWebサービスを統合する必要があります。 (関連するルートファイル付き)Akkaアクターと再生フレームワークでWebServiceを使用する
私のデフォルトコントローラが
class myController @Inject() (implicit val messagesApi: MessagesApi,
config: play.api.Configuration) extends Controller with I18nSupport {
// Actions
}
のように見えるこれは、大規模なアクター・システムをスピンアップし、すべてが良いです。
俳優の一人は、以下のように定義される -
class ActorMgr (jobId: Long,
config: Config) extends Actor with ActorLogging {
// Actor specific stuff
}
私の問題は、私は今、この俳優から新しいWebサービスを呼び出すために必要があるということです。このWebサービスは、このアクタの結果を記録するデータベースです。
私が見て上記の手順を1として(とりわけ)
- https://playframework.com/documentation/2.5.x/ScalaWS
- Dependency injection with abstract class and object in Play Framework 2.5
からの指示に従ってきた、私は私が必要とするクラスにWSClientを注入することになっていますそれにアクセスする。
私はこの作品
class DbController @Inject() (ws: WSClient) extends Controller {
def post = Action {
// access webservice
}
}
以下のように、第2のコントローラに依存性注入を解決することができるよ、と私はそれがルートににマッピングされているURLにアクセスして、「ポスト」のアクションを実行することができますしたがって、Webサービスにアクセスします。私は今も2つのコントローラーを持っています。
私の問題は、ActorMgr(Akka Actor)からWebサービスコントローラーの「ポスト」メソッドにアクセスすることです。どのように私はそれを有効にするのですか?
にあなたはここを参照してください、俳優を作成するために、依存性注入を使用することができます。https://www.playframework.com/documentation/2.5.x/ScalaAkka#依存関係注入アクター – Haspemulator
Haspemulator、あなたの応答に感謝します。それは私の元の質問の部分(私はどのように依存関係を俳優に注入するのか)に答えましたが、私の問題は解決しませんでした。私は私の質問の一部を再構成したので、それはより明確です。 –
ここに最後に何をしたのですか? –