Tag: google app engine

元素类型“META”必须由匹配的结束标记“”终止

当我尝试使用Java解析XML文件(在GAE服务器中)时,我有时会遇到以下错误: Parse: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 3; The element type “META” must be terminated by the matching end-tag “”. 然而它并没有一直发生,有时它的工作正常。 该程序解析xml文件,我没有问题。 这是我试图解析的XML文件: http : //www.fulhamchronicle.co.uk/london-chelsea-fc/rss.xml 任何帮助将不胜感激。 谢谢。 更新: 谢谢你的回答。 我将我的代码更改为另一个解析器,以及该文件正在正确解析的好消息。 它现在为另一个饲料转移同样的问题,尽管完全不同的饲料,但它之前的工作完全不同。 谁能想到为什么会这样?

Google App Engine(Java)上的全文搜索

关于这个主题有几个线程浮动,但我认为我的用例有些不同。 我想做的事: 我的GAE / J应用程序的全文搜索组件 索引大小很小:25-50MB左右 我不需要对索引进行实时更新,定期重新索引也没问题 这是为了自动完成等,所以它需要非常快(我得到的印象是在数据存储区中实现反向索引会引入相当大的延迟) 到目前为止我的策略(只是计划,尚未尝试实施任何东西): 将Lucene与RAMDirectory一起使用 定期cron作业创建索引,将其序列化到数据存储区,存储更新ID(或时间戳) 搜索servlet在启动时加载索引并创建RAMDirectory 在每个请求上,servlet检查当前的更新ID并根据需要重新加载索引 我模糊的主要问题是如何在实例之间同步内存中的数据 – 这会起作用吗,还是我错过了什么? 另外,在我开始使用内存问题之前,我可以在多大程度上推送它? 我在GAE的RAM配额上找不到任何东西。 (这个索引很小,但我想想更多我想添加的东西) 当然,对更好方法的任何想法?

使用JarJar重新包装工具

我已将Web应用程序部署到Google应用程序引擎,而我的Web服务使用了jersey 1.14框架。 当我尝试在GAE上使用或调用Web服务时,我得到了一个java.lang.IncompatibleClassChangeError:实现类。 我四处搜索并意识到jersey 1.14依赖于asm 3.1而google app引擎使用asm 4.0并意识到我必须使用JarJar打包依赖项来解决这个问题,但我不知道如何做到这一点与JarJar。 我发现的教程非常神秘,面向体验程序员。所以有人可以发布面向初学者的教程或者指导我完成解决这个问题的步骤。

有没有办法触发Maven Appengine Devserver自动刷新静态文件?

最新版本的maven插件已经启用了每5秒更新代码,这是一个很大的改进。 但除非我配置错误,否则它似乎没有获取静态文件更改,例如正在进行的Javascript连接到appengine代码。 有没有办法改变这种行为,或者我只需要等待新版本?

使用HSSF的Apache POI比XSSF快得多 – 下一步是什么?

我在使用Apache POI解析.xlsx文件时遇到了一些问题 – 我收到了java.lang.OutOfMemoryError: Java heap space我部署的应用程序中的java.lang.OutOfMemoryError: Java heap space 。 我只处理5MB以下和大约70,000行的文件,所以我怀疑阅读其他问题是有些不对劲。 正如本评论中所建议的,我决定使用建议的变量运行SSPerformanceTest.java ,以查看我的代码或设置是否有任何问题。 结果显示HSSF( .xls )和XSSF( .xlsx )之间存在显着差异: 1) HSSF 50000 50 1:经过1秒 2) SXSSF 50000 50 1:经过5秒 3) XSSF 50000 50 1:经过15秒 FAQ特别说: 如果你不能在3秒内完成所有HSSF,XSSF和SXSSF中50,000行和50列的运行(理想情况下要少得多!),问题在于您的环境。 接下来,它说要运行我已经完成的XLS2CSV.java 。 在上面生成的XSSF文件(包含50000行和50列)中输入大约需要15秒 – 与写入文件所用的数量相同。 环境有问题,如果有,我该如何进一步调查? VisualVM的统计数据显示在处理过程中使用的堆高达1.2Gb。 当然,考虑到与处理开始之前相比,这是一个额外的演出,这是太高了吗? 注意:上面提到的堆空间exception只发生在生产中(在Google App Engine上)并且仅发生在.xlsx文件中,但是这个问题中提到的测试都已经在我的开发机器上运行了-Xmx2g 。 我希望如果我可以解决我的开发设置问题,它将在部署时使用更少的内存。 来自app引擎的堆栈跟踪: 引起:java.lang.OutOfMemoryError:org.apache.xmlbeans.impl.store.Cur上的org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:260)中的Java堆空间$ CurLoadContext.startElement( Cur.java:2997)org.apache.xmlbeans.impl.store.Locale $ SaxHandler.startElement(Locale.java:3211)at […]

为什么在托管模式下运行GWT App Engine应用程序时会出现ClassNotPersistableException?

当我尝试在GWT / App Engine应用程序的本地JDO数据存储上执行查询时,我正在随机获取org.datanucleus.exceptions.ClassNotPersistableException。 这只发生在我在托管模式下运行应用程序时。 当我将它部署到Google App Engine时,一切都很完美。 堆栈跟踪: org.datanucleus.exceptions.ClassNotPersistableException: The class “com.wayd.server.beans.WinePost” is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data/annotations for the class are not found. at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:305) […]

IntelliJ上的Google App Engine Java开发?

令人讨厌的是,Google App Engine已成为另一个只发布Eclipse插件的项目(如Spring Webflow),我更喜欢IntelliJ。 您可以使用IntelliJ成功运行本地测试环境吗? 并调试/部署本地或实时应用程序? 如果是这样,Eclipse版本中是否缺少任何function?

远程api gae祖先查询

当我用祖先执行查询时,我尝试使用远程api并获得exception。 例外: 查询必须具有与包含的祖先密钥相同的应用程序ID(app):query.app:’firtsAppId’!= query.ancestor.app:’secondAppId’ 其中firtsAppId,secondAppId – 它是我的应用程序ID在’remote’和’client’上的appengine-web.xml AppEngine SDK 1.7.4 Windows 8 x64 jdk1.6.0_38 x64 代码如下: RemoteApiOptions options = new RemoteApiOptions().server(appId, 443).credentials(username, password); installer = new RemoteApiInstaller(); installer.install(options); DatastoreService service = DatastoreServiceFactory.getDatastoreService(); Entity parentEntity = new Entity(“ParentEntity”, 1); parentEntity.setProperty(“name”, “parent”); Key parentKey = service.put(parentEntity); Entity childEntity = new Entity(“ChildEntity”, 1, parentKey); childEntity.setProperty(“name”, “child”); service.put(childEntity); Query […]

Google App Engine错误:未找到匹配的索引。 (JAVA)

我正在编写一个查询,但它总是说“找不到匹配的索引”。 我不知道为什么。 我的代码如下: Query query = pm.newQuery(Classified.class); query.setFilter(“emp_Id == emp”); query.setOrdering(“upload_date desc”); query.declareParameters(“String emp”); List results = (List)query.execute(session.getAttribute(“emp_Id”).toString()); 我已经添加了上面的索引,但它没有帮助。

当序列化策略更改时,GWT客户端不会收到IncompatibleRemoteServiceException

部署新版本的应用程序时,会更改模型类(例如添加/删除字段)。 运行旧版本的客户端将获得com.google.gwt.user.client.rpc.SerializationException,并使用旧客户端代码生成RPC,这是预期的行为。 因此,我们希望在客户端看到IncompatibleRemoteServiceException。 但是我们得到StatusCodeException。 StatusCodeException是500错误,我们无法轻松自定义客户端行为(我们不希望假设每个StatusCodeException或500错误是新版本)。 我们在这里做错了什么? 注意:在服务器端(日志),我们显然得到SerializationExcepion,因为来自旧客户端的序列化策略对新服务器不再有效。 那么为什么不抛出IncompatibleRemoteServiceException呢? 谢谢。