【问题标题】:Can I use facelets in a Google App Engine app?我可以在 Google App Engine 应用程序中使用 facelets 吗?
【发布时间】:2009-04-09 02:24:44
【问题描述】:

我想对 facelets 做更多的学习。既然 Java 是一种受支持的 Google 应用引擎语言,那么 facelets 实现中是否有任何内容会阻止在 App Engine 上使用?

编辑:This page at google 现在列出了各种框架及其在 App Engine 方面的状态。

【问题讨论】:

    标签: java google-app-engine facelets


    【解决方案1】:

    JSF 的 1.2 版本不工作 - 因为默认情况下它会尝试生成线程。这在 GAE 中是不允许的。

    此问题已在 JSF 1.2(内部版本 13)的最新版本以及 2.0 Beta 2 版本中得到修复 - 您可以从此处下载最新版本:http://javaserverfaces.java.net/

    您需要在 web.xml 中添加上下文参数:

    com.sun.faces.enableMultiThreadedStartup 默认为 true。这个 部署到 GAE 时必须将选项设置为 false。

    【讨论】:

    • 我在 appengine-java 列表中看到了这封电子邮件。也很高兴在这里拥有它。感谢你们为 JSF 所做的所有工作。
    • Jim,如果 2.0 Beta 2 可以在 GAE 上运行,这是否意味着我可以使用 facelets,因为它们是 2.0 内置的?
    • 是的,JSF 2.0 有 Facelets 作为显示页面的首选方式,这在 GAE 中应该可以正常工作。
    • 作为记录,我必须修改 JSF 2.0.2 源代码才能使其在应用引擎中运行。即使在设置了上下文参数之后,尝试进行 JNDI 设置也存在问题。我在我的博客文章中详细说明了我的修复。 digitaljoel.wordpress.com/2009/12/21/…
    • 哼。嗯,这很令人痛心。我已经提交了一个错误:javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1594 作为记录,您也可以随时提交错误 - 开发人员尽最大努力掌握它们,除非您告诉他们,否则不知道有问题。 (可悲的是,我不再属于他们,因为我已经开始了一份新工作)。
    【解决方案2】:

    我没有尝试过,但我认为它与使用 Struts 或 Spring 没有什么不同。只要您可以在 WAR 中使用所需的所有 JAR 进行部署,它就应该可以工作。

    唯一的问题是 JPA 或 JDO 是否足够。如果 facelets 需要任何其他持久性机制,您可能会遇到问题。

    JMS 也不可用,因此依赖它的功能无法工作。

    第一次访问是不是有限制?前 10,000 人进入?

    【讨论】:

    • Facelets 没有任何持久性要求 AFAIK,所以这应该不是问题。谢谢(你的)信息。是的,前 10k 人进入。我恰好是幸运的 10k 人之一。
    • 看起来有些人已经成功使用 facelets 1.1,但不是 1.2,如此处的线程列表所示:seamframework.org/Community/SeamGoogleAppEngine
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2015-02-15
    • 2023-03-14
    相关资源
    最近更新 更多