2015-10-05 6 views
0

Я создал 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()); 
    } 
} 

Я действительно понятия не имею, как я могу вернуть статус, если система работает или нет. Может ли кто-нибудь помочь мне с некоторыми идеями о том, как проверить статус сервера?

+0

Ну, если сервер выключен, вы, вероятно, получите ответ HTTP 404. Таким образом, вы можете проверить код ответа после HTTP-запроса: если вы получаете 200 (или 2xx) сервер, если вы получаете 404 (или 4xx или 5xx), сервер не работает. – javatutorial

+0

Это не так актуально. Я могу получить ответ 404 также, когда я запрашиваю URI, который не существует. Но сервер все еще работает и работает ... – dres

+0

Ну, если вы владеете своим сервером, 404, безусловно, означает, что сервер не работает, поскольку ваш URI не изменится, и вы проверите ответ только для этого URI ... или я чего-то не хватает? :) – javatutorial

ответ

0

Ваш тип поиска сворачивается сам по себе, если вы считаете, что пытаетесь получить ответ от веб-службы, которая развернута на невосприимчивом веб-сервере. Как именно вы предполагаете, что ваш веб-сервис получает слово (посредством согласованного статуса HTTP, не менее), что он недоступен? Как вы вообще пойдете на это? Когда контейнер вниз, вашей служба не в состоянии вернуть любое значимое сообщение клиента

палочки для обработки исключений проверенного времени в различных разновидностях соединительного связанные SocketException и возможно HttpRetryException, в в некоторых случаях. Это все, что вы собираетесь получить, когда ваш сервер не вверх: несколько вариантов SocketException. У вашего сервиса REST нет мощности здесь.

Смежные вопросы