0

Play 1.2.xプロジェクトが成長するにつれて、私は自分自身があるもの(永続オブジェクトなど)を実行しているときに、 というものを追加しています。 私はこれらの種類のユースケースを処理する最善の方法は、Eventbusを使用することだと思います。 私がプレイ2.xは使用することが可能であることを見てきましたPlayFramework 1.2.xのEventBus実装

、おそらくいくつかのより多くの....

から1がありますakka 2.0イベントバス...スカラープラグインがまだ古いsbt/scalaバージョンを使用しているので、私はプレイでAkka 2を使うことができません1.2x

私はあなたのプレイプロジェクトで使用しているメッセージバスを読んでうれしいです。 解決策が永続性操作をどのように処理するかについても説明してください。リスナーからJPAセッションを使用する方法

おかげで、 ドミニク

答えて

2

あなたはまだプレイしてアッカの統合を検討しています1.2? Play 1.2.5との統合が完了しました。私はAKKA用のモジュールを見ましたが、かなり古くなったので、AKKAを自分で統合することに決めました。

それはここにすべての非常に簡単ですが、いくつかの基本的な手順は次のとおりです。あなたのdependencies.ymlファイルで

  • com.typesafe.akka -> akka-actor_2.10 2.1.0 // this was the latest version at time of writing

  • 行は、コマンドラインからプレイDEPSを実行含まライブラリをlibフォルダにダウンロードする

  • doあなたのconfディレクトリに セットアップでreference.confファイルをライブラリの依存関係を取得するには、いくつかのIDEの良さ(これは起動時にアッカのための設定情報が含まれています) - を見て:http://doc.akka.io/docs/akka/2.1.0/general/configuration.html
  • "-Dconfig.file=reference.conf"てきたA
  • あなたのVMのオプションを追加AppContextの静的クラスまたはAkkaSystemの負荷と似ています。これは、一度作成してどこからでも参照できるようにするためのものです。
  • とアッカシステムをロードします。

    実行している取得するのに十分であるべき
    Config config = ConfigFactory.load(); 
    public static final notificationSystem = ActorSystem.create("notification", config); 
    

、その後、あなたは自分の入札を行うには、いくつかのアクターを作成する必要があります。

JPAもあります。モデルと参照データにアクセスしてアクセスしようとすると、初期化されていないエンティティマネージャエラーが発生します。

@Override 
    public void onReceive(Object o) throws Exception { 
     if (o instanceof SomeMessageType) { // create your own serializable class to transfer message data 
      SomeMessageType message = (SomeMessageType) o; 
      JPAPlugin.startTx(true); // true is to start this as a readonly transaction 
      // Do all the JPA goodness 

      JPAPlugin.closeTx(false); // false is for rollback - I use this because I am doing a readonly transaction 

     } else { 
      unhandled(o); 
     } 
    } 

・ホープ、このことができます:ここで

はJPAアクセスの俳優のためのいくつかのサンプルコードです。私は何時間も働いてすべてを稼働させようと努力しました。私は今、プレイジョブに吐き出すのではなく、私の非同期タスクを構造化することができます。

+0

ありがとうございました!今私は演劇プロジェクトに取り組んでいませんが、次の演劇のためにこれを検討します!再度、感謝します! –

+0

あなたが次のプロジェクトでプレーすることを検討するときは、https://github.com/matthewk/Play-nicewith-AKKAを見てください。 –

+0

のすべてを含むスケルトンプロジェクトを作成しました。ありがとうございます。 –

関連する問題