将 XML 数据导入 Google App Engine
2010-10-22 17:18:53 来源:WEB开发网每当您解析一个新的 <employee> 元素时,您将创建一个新的 Employee 对象并将其添加到一个 Stack。每当其他元素被解析时,您将这个 Employee 对象弹出 Stack,调用相关的 set 函数,然后将该对象推回 Stack。当 employee close 元素被解析时,您将完成的对象弹出 Stack,并将其添加到一个 List 对象。当整个文件被解析时,您使用 PersistenceManager 持久化 List 中的每个对象。
根据 “Using the DataStore with JDO” 指南,创建 PersistentManager 就 CPU 时间而言是非常昂贵的。该指南建议您在应用程序启动时使用一个静态最终变量来创建这个对象,然后根据需要获取该对象。
清单 4 展示了 PersistenceManagerFactory 类。注意,这个相同的类,只要更改包名和类名,就可以在您的每个 GAE 项目中使用。
清单 4. XMLImportPersistenceManagerFactory.java
package com.xmlimport;
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManagerFactory;
public final class XMLImportPersistenceManagerFactory {
private static final PersistenceManagerFactory pmfInstance = JDOHelper.
getPersistenceManagerFactory("transactions-optional");
private XMLImportPersistenceManagerFactory() {}
public static PersistenceManagerFactory get() {
return pmfInstance;
}
}
最后,您需要创建一个 servlet 来调用 EmployeeHandler 并创建一些 Employee 对象。然后,我们将这个 servlet 定义添加到 web.xml 文件,以便 /CreateEmployee URL 将重定向到它。清单 5 展示了 web.xml 文件。
更多精彩
赞助商链接