簡體   English   中英

Google App引擎沒有處理程序與此網址匹配

[英]Google app engine No handlers matched this URL

我要從我在Google App Engine上設置的cron作業中調用firebase Http請求。cron作業已成功部署,但未觸發firebase url,因為我認為我在web.xml文件或其他位置缺少某些設置文件。 在日志查看器中,我看到這種信息“沒有處理程序匹配此URL”,任何人都有任何想法。 以下是我的cron.xml設置

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
    <cron>
        <url>/cron</url>
        <target>beta</target>
        <description>Keymitt cron job</description>
        <schedule>every 1 minutes</schedule>
    </cron>
</cronentries>

這是我的web.xml設置

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>HelloAppEngine</servlet-name>
    <servlet-class>com.company.HelloAppEngine</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloAppEngine</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>KeymittCron</servlet-name>
    <servlet-class>com.company.KeymittCron</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>KeymittCron</servlet-name>
    <url-pattern>/cron</url-pattern>
  </servlet-mapping>

</web-app>

這是我關聯的WebServlet

@WebServlet(name = "KeymittCron",value = "/cron")
public class KeymittCron extends HttpServlet {
    private static final Logger _logger = Logger.getLogger(KeymittCron.class.getName());
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      //  super.doGet(req, resp);
        URL url=new URL("httplink");
        HttpURLConnection connection= (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setDoOutput(true);
        connection.setDoInput(true);
        connection.connect();
        int requestCode=connection.getResponseCode();
        if(requestCode==200){
            _logger.info("firebase link triggered successfully");
            _logger.info("Executed cron job");
        }
        else{
            _logger.info("Error while triggering firebase link");
        }
        connection.disconnect();
        resp.setStatus(200);
        resp.getWriter().println("Done");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //
        doGet(req,resp);
    }
}

這是我的記錄儀信息 在此處輸入圖片說明

我在這里的答案可能是相關的-Google Cloud App Engine計划工作-未致電服務

基本上,您可能需要在appengine-web.xml

<service>beta</service>

您在cron.xml指定的<target>必須與您在appengine-web.xml定義的<service>匹配

暫無
暫無

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

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