2017-04-13 30 views
2

我試圖覆蓋健康終點。我需要讓它返回其他的東西,然後'OK'。如文檔中所述,我應該使用Lifecycle.Warmup特性。 無論在finagle控制/健康終點

HttpMuxer.addHandler(Route("/health", new ReplyHandler("not OK\n"))) 

也壓倒一切的方法尚不幫助。

下面的這段代碼,也沒有幫助。

HttpMuxer.addHandler(
     Route(
     pattern = "/health", 
     handler = new ReplyHandler("not OK\n"), 
     index = Some(RouteIndex(
      alias = "Health", 
      group = group)))) 

我該怎麼做來改變這條信息?

UPD:還有一個應該工作,但它並不

premain { 
    addAdminRoute(
     AdminHttpServer 
     .Route("/health1", 
      handler = service, 
      "Service Health", 
      Some("Misc"), 
      false, Method.Get) 
    ) 
    } 
    val service = new Service[Request, Response] { 
    def apply(request: Request) = { 
     val response = Response(request.version, Status.Ok) 
     response.contentString = "test" + "\n" 
     com.twitter.util.Future.value(response) 
    } 
    } 

我調試的方式,我看到它的加入複用器,我看到它出現在日誌中也是如此。不知道爲什麼它不工作

Logs

回答

0

聽起來有點奇妙,但如果我把這個代碼放在main之前,而不是premain - 它可以工作。

HttpMuxer.addHandler(
    Route(
     pattern = "/health", 
     handler = new ReplyHandler("not OK\n"), 
     index = Some(RouteIndex(alias = "Health", group = group)) 
    ) 
) 
0

這看起來像它應該工作。您應該仔細檢查您要訪問的網址是$ ADMIN_HOST:$ ADMIN_PORT/health,而不是$ ADMIN_HOST:$ ADMIN_PORT/admin/health。