我有一个玩游戏的应用程序,我正在构建一个应用程序,该应用程序将使用前端的游戏框架,但也会有一些将与游戏进行通信的“工作节点”通过JMS队列。如何与非玩游戏的应用程序共享模型
这些工作节点意味着重量轻,因此不会运行完整的框架。
我想嵌入在两剧中的框架应用程序和工作节点相同的模型,可以很容易地通过物体在JMS但是使用ebean在游戏框架,我需要有对象扩展play.db.ebean.Model
赢得在工作节点上工作,因为他们没有在运行。
这样做的最好方法是什么?
我有一个玩游戏的应用程序,我正在构建一个应用程序,该应用程序将使用前端的游戏框架,但也会有一些将与游戏进行通信的“工作节点”通过JMS队列。如何与非玩游戏的应用程序共享模型
这些工作节点意味着重量轻,因此不会运行完整的框架。
我想嵌入在两剧中的框架应用程序和工作节点相同的模型,可以很容易地通过物体在JMS但是使用ebean在游戏框架,我需要有对象扩展play.db.ebean.Model
赢得在工作节点上工作,因为他们没有在运行。
这样做的最好方法是什么?
Play的play.db.ebean.Model class只是一个帮助器,它提供了一些有用的方法(save(),update(),delete()...)。他们只是打电话给Ebean静态方法,例如,保存()的play.db.ebean.Model
类的方法实现:
/**
* Saves (inserts) this entity.
*/
public void save() {
Ebean.save(this);
}
你可以让你的模型对象,而不从它继承:
@Entity
public class User {
@Id
private Long id;
@Column
private String name;
// getters and setters
}
但是,如果您不想依赖Ebean类,则应该使用静态方法编写其他类(在Java EE世界中称为“服务”或“DAO”层):
public class UserDAO {
public static Finder<Long,User> find = new Finder<Long,User>(Long.class, User.class);
public static void save(User aUser) {
Ebean.save(aUser);
}
}
然后,您必须将模型对象打包到JAR中,并在Play中和JMS系统中添加此依赖项。但是在你的JMS系统中,不要忘记添加一个依赖于你的模型对象中导入的JPA注释。
此解决方案对我无效。我在一个单独的项目中有我的模型,并且我没有添加“模型”注释。然而,Play仍然抱怨模型无法初始化。 – YGL