Google app engine 谷歌应用程序引擎&x2B;Objectify:注册对象一次?
我最近使用AppEngine使用objectify,但我在多次为objectify注册类时遇到了问题。在Eclipse中开发时,每次刷新localhost时都会重新编译并再次运行,而注册学生的脚本会运行多次,只需刷新一次,程序就会崩溃Google app engine 谷歌应用程序引擎&x2B;Objectify:注册对象一次?,google-app-engine,jsp,objectify,Google App Engine,Jsp,Objectify,我最近使用AppEngine使用objectify,但我在多次为objectify注册类时遇到了问题。在Eclipse中开发时,每次刷新localhost时都会重新编译并再次运行,而注册学生的脚本会运行多次,只需刷新一次,程序就会崩溃 <% //In my main.jsp file, which is the main interactive html page ObjectifyService.register(Object.class); %> 这给了我一个不同的错误。我如何
<%
//In my main.jsp file, which is the main interactive html page
ObjectifyService.register(Object.class);
%>
这给了我一个不同的错误。我如何解决这个问题?通过以下可靠的例子: 您可以找到注册该类的类似尝试,但是。。。阅读示例中的注释: //小心这条线!这是一个例子,但在现实世界的项目中,您应该看起来更好
//建议在申请开始时注册实体 所以。。。您可能有一个java类,其中实现了几个方法,如:get/put/delete等。。。在这个java类中,您应该放置代码来注册这个类
static {
ObjectifyService.register(Object.class);
}
或者,在应用程序启动时查找其他被调用的位置将其放在您的,特别是contextInitialized()挂钩上。这将确保Objectify寄存器代码仅在服务器预热时执行一次。“崩溃”?“另一个错误”?具体点!包括堆栈跟踪!这个问题非常明确。我说过要在实现CRUD操作的类中添加静态块。。。因此,如果您将静态块放在它里面,(并且您必须在使用CRUD操作之前创建它的实例),它应该是好的,我没有说将注册的静态块放在“Object”类里面,我很抱歉有点误导。我指的是一般情况,而不是你的正确建议。您所描述的,将注册放在DAO中,是我链接到的上面的一段:
static {
ObjectifyService.register(Object.class);
}