Tag: google app engine

GAE,JPA,XG-transactions,太多实体组exception

我知道GAE上的XG事务中有5个实体组的限制,但我认为我在一个事务中只使用了3个组(Commodity,Category,CommodityCategory)并且仍然遇到此exception:引起:java.lang.IllegalArgumentException:operating单个事务中的实体组太多。 以下是我的datamodel和dao代码的重要部分: 分类模型 @Entity(name = “Category”) public class Category extends BaseDatastoreEntity{ private String name; private Key parentKey; private String parentName; @Unowned @OneToMany(cascade= CascadeType.ALL) private Set commodityCategories = new HashSet(); . . public void addCommodityCategoryInternal(CommodityCategory commodityCategory) { this.commodityCategories.add(commodityCategory); } 商品模型 @Entity(name = “Commodity”) public class Commodity extends BaseDatastoreEntity implements IRateable{ private String name; private BigDecimal price; […]

将PDF文件上传到由pdfjet在GAE / J上生成的Google文档

我需要将PDF文件上传到用户谷歌文档,这是由谷歌应用引擎上的pdfjet生成的。 我想用pdfjet为gae / j生成pdf。 pdfjet使用流来创建pdf。 反正有没有将流转换为文件,所以我可以上传到用户谷歌文档。 我试过gaevfs,但无法使它工作。 如果需要,我可以使用另一个pdf生成解决方案或其他虚拟文件系统等。 PDF生成代码 ByteArrayOutputStream os = new ByteArrayOutputStream(); PDF pdf = new PDF(os); Google文档API代码 DocumentListEntry newEntry = new PdfEntry(); newEntry.setTitle(new PlainTextConstruct(“Some Report”)); 我无法获得的行使其工作:setFile(File,String) newEntry.setFile(pdf, “application/pdf”); 谢谢。

关于appengine的聊天应用程序

我愿意在App Engine上实现一个聊天网站。 但我发现App Engine不允许我使用服务器推送。 (因为它将在30秒后杀死响应)。 那么可以使用的另一种方法是什么? 民意调查会导致糟糕的用户体验吗? 意味着用户必须等待一段时间才能从服务器检索新消息? 什么是理想的轮询间隔? 如果您使用非常小的轮询间隔,我的带宽是否会耗尽? 我会遇到性能问题吗?

如何在不同的浏览器页面中管理多个帐户登录和注销?

我有一个基于App Engine(Java)的网站,需要用户使用Google帐户登录。 情况是: 用户Adam拥有多个帐户。 用户Adam使用帐户Adam1登录并在浏览器页面A中获取他的Adam1数据。 他点击了退出链接,但是在另一个标签页B中打开了它(当然是同一个浏览器) 他在浏览器页面B中使用另一个帐户Adam2登录,显示他的Adam2数据。 然后他返回浏览器页面A并对他的数据进行了一些更改然后发送到服务器,此时我的应用程序将识别当前用户是Adam2 ,并且将对Adam2进行更改,它与其状态不匹配当前页面A,我们的用户可能会感到困惑。 我想也许我可以在向服务器发出更改请求时附加userID参数,服务器端会将当前用户ID与此userID参数进行比较以处理更改请求或返回刷新命令以使过时页面成为如果ID不相同,则刷新到当前帐户。 处理这种情况的最佳做法是什么?

Google App Engine安全约束无效

我在我的GWT应用程序的部署描述符中使用了以下安全性约束,该应用程序部署在Google App Engine(GAE)for Java上: ds/* admin 我的应用使用Google帐户进行身份validation。 它在托管模式(Eclipse)中运行得非常好,但是当我将应用程序部署到GAE时,约束不起作用。 例如,在托管模式下,当我尝试访问ds文件夹中的资源时,它会将我重定向到登录页面。 登录后,它仅授予管理员用户访问权限。 但在部署的应用程序中,任何人都可以访问资源而无需任何身份validation/授权。 我没有机会在应用程序的“默认”版本(http://myappid.appspot.com)上测试它,但它肯定不适用于其他版本(如http://5.myappid) .appspot.com )。 我错过了一些明显的东西吗? 谢谢。

在Cloud Endpoints Frameworks 2.0 for App Engine中增强端点

我收到了来自GCP的电子邮件,要求将我的项目从Cloud Endpoints 1.0迁移到Cloud Endpoints Frameworks 2.0。 我已按照此处列出的步骤操作: https : //cloud.google.com/appengine/docs/java/endpoints/migrating?authuser = 0 在我之前的build.gradle中,我有这个指令来增强我的端点,它工作正常: appengine { downloadSdk = true appcfg { oauth2 = true } endpoints { getClientLibsOnBuild = true getDiscoveryDocsOnBuild = true } enhancer { version = “v2″ api=”jdo” // or “jpa” enhanceOnBuild = true } } 但是,在迁移和编译之后,我收到以下错误: 错误:(60,0)无法在com.google.cloud.tools.gradle.appengine.core.AppEngineExtension类型的对象上找到参数[build_2dn4fni12bkrsqgsi25gsx3hh $ _run_closure2 $ _closure7 @ 6b02ee9e]的方法增强器()。 […]

在applet或Google AppEngine中托管Java编译器?

在网上搜索我发现Javac编译器是用Java编写的,我也在Sun的网站上查看源代码。 来源非常大,我无法取得任何进展。 此外,Eclipse项目内嵌了一个编译器,但是谁可以触摸它的源代码;-)。 所以我想我会按你的方式提出几个问题: Java编译器可以托管在Applet中吗? 是否可以使Java编译器在GAE上工作,从数据存储中动态加载生成的类文件?

Spring Boot是否支持servlet 2.5自动配置?

我想创建一个部署在Google AppEngine基础架构上的Spring Boot应用程序。 GAE目前仅支持servlet 2.5 Web应用程序。 是否可以将Spring Boot – 使用自动配置 – 与旧式web.xml结合使用? 我可以使用一个指向@Configration类的contextClass / contextConfigLocation,包括@EnableAutoConfiguration吗? 所有Spring Boot示例似乎都使用带有main方法的简单Application类来运行应用程序。 所以我想知道Spring Boot是否支持使用web.xml作为启动应用程序的起点?

使用GWT和GAE进行JUnit测试

我想要一些JUnit测试(用GWT创建)来联系一个servlet(里面有GAE调用)。 当我运行测试时,我得到以下堆栈跟踪: java.lang.NullPointerException at com.google.appengine.api.NamespaceManager.get(NamespaceManager.java:101) at com.google.appengine.api.memcache.BaseMemcacheServiceImpl.getEffectiveNamespace(BaseMemcacheServiceImpl.java:65) at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.doGet(AsyncMemcacheServiceImpl.java:295) at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.contains(AsyncMemcacheServiceImpl.java:283) at com.google.appengine.api.memcache.MemcacheServiceImpl.contains(MemcacheServiceImpl.java:44) at com.peerkesoftware.etheria.web.server.model.UpdateTimer.(UpdateTimer.java:17) at com.peerkesoftware.etheria.web.server.UpdateTimerServlet.(UpdateTimerServlet.java:12) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at […]

更新谷歌应用引擎中的静态文件

我的应用程序的欢迎页面(JSP文件)包含一些动态内容。 例如最近的post链接,最活跃的类别等。 为了完成这项工作,我需要制作一些返回这些数据的数据存储查询。 这几乎没有优化。 特别是在主页中,与在JSP文件中对这些链接进行硬编码相比,它的加载时间更长。 我正在考虑使用cron任务每天使用最新数据更新静态JSP文件。 因此,实际上生成一个JSP文件并替换旧文件。 你觉得这有可能吗? 我也对任何想法持开放态度! 谢谢;