【问题标题】:Timer replacement for AppengineAppengine 的计时器替换
【发布时间】:2012-11-05 11:45:55
【问题描述】:

我正在从事 GWT Appenginge 项目。我从外部 api 获取数据,我想每分钟更新一次数据库。我刚刚发现appengine不允许计时器!为什么?? 有什么解决方法,或者你认为我有一般的设计缺陷。

谢谢

【问题讨论】:

    标签: java google-app-engine gwt timer


    【解决方案1】:

    按要求回答您的问题:

    我刚刚发现 appengine 不允许使用计时器!为什么??

    java.util.Timer 是使用线程实现的,AppEngine 不允许,除非使用自己的 API。所以当你尝试使用 java.util.Timer 时,你会得到一个异常:

    java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:375)
        at java.security.AccessController.checkPermission(AccessController.java:565)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:56)
        at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:131)
        at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
        at java.lang.Thread.init(Thread.java:378)
        at java.lang.Thread.<init>(Thread.java:432)
        at java.util.TimerThread.<init>(Timer.java:499)
        at java.util.Timer.<init>(Timer.java:101)
        at java.util.Timer.<init>(Timer.java:132)
    

    禁止任意线程创建使 AppEngine 系统更容易管理同一台机器上的多个应用程序,而不会过多地相互干扰。

    AppEngine 正在提供一项名为“托管虚拟机”的新服务,该服务将支持您想要的任何环境,包括可以具有后台线程的完整 JVM: https://developers.google.com/appengine/docs/managed-vms/

    请注意,此 API 目前处于“预览”阶段,这意味着尚不建议将其用于可靠的生产用途。

    【讨论】:

      【解决方案2】:

      您是否尝试过 App Engine cron 任务?

      【讨论】:

        【解决方案3】:

        您可能正在寻找与此类似的内容:GWT, Google App Engine, TimerTask or Thread in ServiceImpl throw exception

        另外,您可能想要更新您的问题标题 - 它似乎与您的问题无关。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多