我们正在开发一个我们应该能够从Play发送对象的架构!应用于一系列Akka远程系统。
models.*
包在所有系统中共享,但模型仅在Play上保留!基于用户输入的应用程序。现在,对于密集型操作,这些模型对象将传递给远程actor以进行处理。远程参与者根本不打算保留对象,而只是根据数据对它们进行操作。
因此,例如,如果需要在第三方API上更新用户,则DB中的对象将被发送到远程actor;
remoteActorSelection ! User.find.byId(100)
我们正在使用Play游戏中的Ebean
。
现在路障是在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希望连接到数据库。
这违背了目的。
如何解决这个问题?序列化不是一种选择。