2015-09-07 6 views
2

Я пытаюсь использовать HttpRequestHandlerServlet совместно с HttpRequestHandlingMessagingGateway, чтобы выставить простой URL REST в браузер. Но я не могу зарегистрировать HttpRequestHandlerServlet, я делаю это следующим образом:Не удается зарегистрировать HttpRequestHandlerServlet с Spring Boot

@Bean 
public ServletRegistrationBean inboundServletRegistration(ApplicationContext context) { 
    final HttpRequestHandlerServlet servlet = new HttpRequestHandlerServlet(); 
    ServletRegistrationBean registration = new ServletRegistrationBean(
      servlet, "/demo/*"); 
    registration.setName("inboundServletRegistration"); 

    return registration; 
} 

Spring начала загрузки приложения нормально, но при попытке получить доступ к HttpRequestHandlingMessagingGateway конечных точек с отображением:

@Bean 
public HttpRequestHandler httpInboundEndPoint() { 
    // Http Rest gateway expecting reply. 
    final HttpRequestHandlingMessagingGateway restGateway = new 
      HttpRequestHandlingMessagingGateway(true); 

    // Mapping of URL this gateway consumes... 
    restGateway.setRequestMapping(
      mapping(new HttpMethod[]{HttpMethod.GET}, "/context/{param}")); 

по адресу http://localhost:8080/demo/context/ { пары} Я получаю полный крах нонсенса:

org.springframework.beans.factory.BeanNotOfRequiredTypeException: 

Bean с именем 'inboundServletRegistration' должен быть типа [org.springframework.web.Ht tpRequestHandler], но был фактически типа [org.springframework.boot.context.embedded.ServletRegistrationBean]

Вы столкнулись с этой проблемой? Не могли бы вы помочь мне?

+0

Кто-нибудь? Я вроде думал ли это может на самом деле работать ... Потому что посмотрите в исходный код HttpRequestHandlerServlet ... Кажется, проблема в том, что имя сервлета HttpRequestHandlerServlet не совпадает с именем HttpRequestHandler (HttpRequestHandlingMessagingGateway в моем случае) .... Как можно установить имя HttpRequestHandlerServlet? –

ответ

1

Хорошо, я понял.

Ключ передать эту проблему, чтобы зарегистрировать HttpRequestHandler под тем же именем боба как HttpRequestHandlerServlet регистрации боба ... Переход скорее обратно в XML конфигурации ... :-(