Play からオブジェクトを送信できるアーキテクチャに取り組んでいます。一連の Akka リモート システムへのアプリケーション。
パッケージはすべてのシステムで共有されmodels.*
ますが、モデルは Play! ユーザー入力に基づくアプリケーション。現在、集中的な操作のために、これらのモデル オブジェクトはリモート アクターに渡されて処理されます。リモート アクターは、オブジェクトを永続化するためのものではなく、データに基づいてオブジェクトを操作するためのものです。
したがって、たとえば、サード パーティの API でユーザーを更新する必要がある場合、DB からのオブジェクトはリモート アクターに送信されます。
remoteActorSelection ! User.find.byId(100)
Ebean
Play!で使用しています。
これに関する障害は、Akka システム側で、Ebean がエラーをスローすることです。
java.lang.RuntimeException: DataSource user is null?
at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:204)
at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:419)
これは、私の意見では、モデル クラスが拡張Model
されているため、Ebean はデータベースへの接続を想定していることを意味します。これは目的を打ち負かします。
これはどのように解決できますか?シリアル化はオプションではありません。