Spring integration 无法向Spring Boot注册HttpRequestHandlerServlet

Spring integration 无法向Spring Boot注册HttpRequestHandlerServlet,spring-integration,Spring Integration,我试图使用HttpRequestHandlerServlet与HttpRequestHandlingMessagingGateway共同向浏览器公开简单的RESTURL。但我无法注册HttpRequestHandlerServlet,我正在以以下方式进行注册: @Bean public ServletRegistrationBean inboundServletRegistration(ApplicationContext context) { final HttpRequestHand

我试图使用HttpRequestHandlerServlet与HttpRequestHandlingMessagingGateway共同向浏览器公开简单的RESTURL。但我无法注册HttpRequestHandlerServlet,我正在以以下方式进行注册:

@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}"));
在地址{param}处,我得到了完全无意义的崩溃:

org.springframework.beans.factory.BeanNotOfRequiredTypeException: 
名为“inboundServletRegistration”的Bean必须是[org.springframework.web.HttpRequestHandler]类型,但实际上是[org.springframework.boot.context.embedded.ServletRegistrationBean]类型


你遇到这个问题了吗?你能帮帮我吗?

好的,我知道了


传递此问题的关键是以与HttpRequestHandlerServlet注册bean相同的bean名称注册HttpRequestHandler…返回XML配置…:-(

有人吗?我在想这是否真的可以工作……因为在查看了HttpRequestHandlerServlet的源代码之后……问题似乎在于HttpRequestHandlerServlet的servlet名称与HttpRequestHandler的名称不匹配(在我的例子中是HttpRequestHandlingMessagingGateway)…是否可以设置HttpRequestHandlerServlet的名称?