2017-01-10 2 views
0

Google App Engine에서 푸시 작업 대기열을 구현했습니다. 이것은 내가 전화하는 방법 코드 작업 대기열Google App Engine 푸시 작업은 항상 405를 반환합니다.

Queue queue = QueueFactory.getDefaultQueue(); 
queue.add(TaskOptions.Builder.withUrl("/tasks/myTask").param("myparam", Long.toString(myparam)).retryOptions(RetryOptions.Builder.withTaskRetryLimit(1)).method(TaskOptions.Method.POST)) ; 

하고이 작업

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     super.doPost(req, resp); 

     String param = req.getParameter("myparam") ; 

     resp.setStatus(HttpServletResponse.SC_OK); 

     resp.setContentType("text/plain"); 
     resp.getWriter().println("dummy"); 
     resp.getWriter().flush(); 
    } 

의 코드입니다하지만 내 작업이 상태 코드 (405)와 작업을 반환 로그에 볼 수 있습니다 다시 실행되지만 내 코드에서 값 200을 응답 코드로 설정합니다. 내 코드가 작동하지 않는 이유는 무엇입니까?

답변

0

워드 프로세서 상태

TaskOptions.Builder 생성자는 HTTP 요청의 페이로드 로 데이터를 추가하는 방법이 있으며 쿼리 매개 변수로서 URL에 추가 파라미터 등. 당신이 페이로드와 함께 POST 방법을 사용하는 경우

에 Params

는 PARAMS를 지정하지 마십시오, 또는 GET 메서드를 사용하는 경우 당신은 쿼리 매개 변수와 URL 을 포함 시켰습니다.

POST 메서드로 작업을 추가하고 있습니다.

전화 번호를 제거하십시오. .method(TaskOptions.Method.POST)