簡體   English   中英

com.google.apphosting.runtime.security.shared.stub.java.nio.file.Files

[英]com.google.apphosting.runtime.security.shared.stub.java.nio.file.Files

我正在使用Google App Engine並嘗試運行Cron工作,這是成功的。 但是我面臨一個例外,任何人都可以通過以下例外指導我:

Error for /cron/fetchnewfiles
java.lang.NoClassDefFoundError: Could not initialize class com.google.apphosting.runtime.security.shared.stub.java.nio.file.Files
    at com.google.appengine.runtime.Request.process-cbe3f36b744636fe(Request.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:44)
    at com.google.api.client.util.IOUtils.isSymbolicLink(IOUtils.java:193)
    at com.google.api.client.util.store.FileDataStoreFactory.<init>(FileDataStoreFactory.java:56)
    at com.demo.gapps.server.Utils.authorize(Utils.java:283)
    at com.demo.gapps.server.FetchNewFilesCron.getDriveService(FetchNewFilesCron.java:242)
    at com.demo.gapps.server.FetchNewFilesCron.doGet(FetchNewFilesCron.java:96)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:446)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:453)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:276)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:312)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:304)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:450)
    at java.lang.Thread.run(Thread.java:745)

根據錯誤日志, java.lang.NoClassDefFoundError: org.jcp.xml.dsig.internal.dom.XMLDSigRI is a restricted class. 看一下Sandbox restriction 堆棧跟蹤顯示java.lang.reflect,因此可能存在與沙箱限制和反射有關的問題。

受保護的“沙盒”環境將您的應用程序隔離,以實現服務和安全性。 它確保應用程序只能執行不會干擾其他應用程序的性能和可伸縮性的操作。 例如,應用程序無法以某種方式生成線程,將數據寫入本地文件系統或建立任意網絡連接。 應用程序也不能使用JNI或其他本機代碼。 JVM可以執行在沙箱限制內運行的任何Java字節碼。

App Engine平台提供了您的代碼可以調用的許多服務 您的應用程序還可以配置指定間隔運行的計划任務

創建cron作業的簡單步驟:

  • 在應用程序的WEB-INF /目錄(以及appengine-web.xml )中創建cron.xml文件。
  • 將一個或多個<cron>條目添加到文件中,並定義作業所需的元素,包括必需的<url><schedule>元素。

以下示例創建一個日常運行的基本cron作業:

每24小時/ tasks / summary beta每日摘要作業目標規范是可選的,並且是服務/版本的名稱。 如果存在,目標將放在應用程序的主機名之前,從而將作業路由到該服務/版本。 如果未指定目標,則作業將在默認服務的默認版本中運行。 *為cron作業的URL創建一個處理程序。 處理程序應執行您要安排的所有任務。 處理程序應使用200到299(含)之間的HTTP狀態代碼進行響應,以指示成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM