0
我爲某些Web服務創建了JAXRS SERVER
。服務器工作正常,但我需要添加一項新功能,以便隨時檢查服務器狀態。因此,如果服務器啓動,我應該返回一個類似running
的消息,並且如果消息類似於down
。JAXRS服務器檢查狀態
我至今實現:
public class Server
{
public static void main(final String[] args)
{
final JAXRSServerFactoryBean serverFactory = new JAXRSServerFactoryBean();
final SubscriptionService subscriptionService =
new SubscriptionService(SubscriptionRepo.getRepo());
final SystemService systemservice = new SystemService();
serverFactory.setResourceProvider(new SingletonResourceProvider(subscriptionService));
serverFactory.setResourceProvider(new SingletonResourceProvider(systemservice));
serverFactory.setAddress("http://localhost:8888");
serverFactory.setProvider(JacksonJsonProvider.class);
serverFactory.create();
}
}
我也創建了我想要得到狀態的服務類:
public class SystemService
{
@GET
@Path("/systemstatus")
public Response getSystemStatus()
{
return Response.status(Status.OK.getStatusCode());
}
}
我真的不知道我該如何返回,如果狀態系統正在運行或不運行。 任何人都可以幫助我瞭解如何檢查服務器狀態的一些想法嗎?
那麼,如果服務器關閉,您可能會收到404 HTTP響應。因此,您可以在HTTP請求後檢查響應代碼:如果您得到200(或2xx)服務器正在運行,如果您得到404(或4xx或5xx),則服務器已關閉。 – javatutorial
這沒什麼相關性。當我請求一個不存在的URI時,我也可以得到一個404響應。但是服務器還在運行...... – dres
好吧,如果你擁有你的服務器,404肯定意味着服務器關閉了,因爲你的URI不會改變,你只會檢查那個URI的響應...或者我錯過了什麼? :) – javatutorial