Playframework Akka、Play、Ebean:远程处理和将模型对象作为消息发送

Playframework Akka、Play、Ebean:远程处理和将模型对象作为消息发送,playframework,akka,ebean,akka-remote-actor,Playframework,Akka,Ebean,Akka Remote Actor,我们正在开发一个架构,在这个架构中,我们应该能够从一个游戏中发送对象!应用于Akka系列远程系统 模型。*包在所有系统中共享,但模型仅在游戏中持久化!基于用户输入的应用程序。现在,对于密集型操作,这些模型对象被传递给远程参与者进行处理。远程参与者根本不打算持久化对象,而只是基于数据对其进行操作 因此,例如,如果用户需要在第三方API上更新,则DB中的对象只发送给远程参与者 remoteActorSelection ! User.find.byId(100) 我们正在使用Ebean和Play 现

我们正在开发一个架构,在这个架构中,我们应该能够从一个游戏中发送对象!应用于Akka系列远程系统

模型。*包在所有系统中共享,但模型仅在游戏中持久化!基于用户输入的应用程序。现在,对于密集型操作,这些模型对象被传递给远程参与者进行处理。远程参与者根本不打算持久化对象,而只是基于数据对其进行操作

因此,例如,如果用户需要在第三方API上更新,则DB中的对象只发送给远程参与者

remoteActorSelection ! User.find.byId(100)
我们正在使用Ebean和Play

现在的障碍是,在Akka系统端,Ebian抛出了一个错误:

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)
在我看来,这仅仅意味着由于模型类扩展了模型,Ebean希望连接到数据库。 这违背了目的


如何解决这个问题?序列化不是一个选项。

如果远程发送,则需要序列化,因为Akka必须以某种方式将这些模型写入连接。@Ryan但是为什么要将相同类型的非持久化对象发送到Akka?例如,类似remoteActorSelection的东西!刚出现的Userrandom@email.com我的观点是你说序列化不是一个选项,但是序列化是Akka的本质所要求的。“这两种情况都会发生。”莱恩,我说得不对。例如,我的意思是Json序列化不是一个选项。