【问题标题】:google app engine cron backend java always give an errorgoogle app engine cron backend java总是报错
【发布时间】:2014-05-12 02:30:03
【问题描述】:

我有一个这样的 servlet 代码:

public class BackendServlet extends HttpServlet {
   private static final Logger LOG = Logger.getLogger(BackendServlet.class.getName());
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
      doPost(req, resp);
   }

   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
      LOG.info("just test backend");
   }
}

然后我有一个 web.xml,如下所示:

  <servlet>
     <servlet-name>update</servlet-name>
      <servlet-class>com.google.api.test.backend.BackendServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>update</servlet-name>
    <url-pattern>/updatebackend</url-pattern>
  </servlet-mapping>

  <security-constraint>
    <web-resource-collection>
        <web-resource-name>update</web-resource-name>
        <url-pattern>/updatebackend</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>any</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>*</role-name>
    </auth-constraint>
  </security-constraint>

然后我有 cron.xmlbackend.xml 如下所示:

cron.xml

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/updatebackend</url>
    <description>Update on the backend</description>
    <schedule>every 5 minutes</schedule>
    <target>updatebackend</target>
  </cron>
</cronentries>

backend.xml

<?xml version="1.0" encoding="UTF-8"?>
<backends>
    <backend name="updatebackend">
        <class>B1</class>
        <options>
            <dynamic>true</dynamic>
        </options>
    </backend>
</backends>

但是当我将它上传到应用引擎服务器时。它总是给我以下错误消息:

/_ah/start java.lang.NullPointerException at com.google.api.client.extensions.appengine.auth.oauth2.AbstractAppEngineAuthorizationCodeServlet.getUserId(AbstractAppEngineAuthorizationCodeServlet.java:92)

如何在应用引擎后端使用 cron 作业正确运行 servlet?上面有没有我做错的设置?

谢谢。

【问题讨论】:

    标签: java google-app-engine cron backend


    【解决方案1】:

    我知道我的问题出在哪里,我应该先为 /_ah/start 制作 servlet。

    【讨论】:

    • 我也有同样的问题,你能在你配置另一个 servlet 的地方显示代码的 sn-p 吗?谢谢
    猜你喜欢
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2017-11-30
    相关资源
    最近更新 更多