Весеннее обновление вызывает проблемы с регистрацией dispatcherServletRegistration

#java #spring #spring-boot #servlets #jersey

#java #весна #spring-boot #сервлеты #джерси

Вопрос:

Мы пытаемся обновить приложение Spring boot с версии 1.5.9 до версии 2.2.7. Мы используем следующие регистрации сервлетов в приложении:

 @Bean
public ServletRegistrationBean dispatcherServletRegistration() {
    ServletRegistrationBean registration = new ServletRegistrationBean(new DispatcherServlet());
    Map<String, String> params = new HashMap<String, String>();
    params.put("org.atmosphere.servlet", "org.springframework.web.servlet.DispatcherServlet");
    params.put("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
    registration.setInitParameters(params);
    return registration;
}


@Bean
public ServletRegistrationBean configureJerseyForRESTfulWebService() {
    ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/service/*");
    registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, JerseyConfig.class.getName());
    registration.addInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
    return registration;
}


@Bean
public FilterRegistrationBean securityFilterRegistration() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new SecurityFilter());
    registration.addUrlPatterns("/*");
    registration.setName("SecurityFilter");
    registration.setOrder(1);
    return registration;
}
 

После обновления мы получаем следующие ошибки во время запуска, и служба не может быть запущена:

 Parameter 0 of method errorPageCustomizer in org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration required a bean of type 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath' that could not be found.



The following candidates were found but could not be injected:
    - Bean method 'dispatcherServletRegistration' in 'DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration' not loaded because DispatcherServlet Registration found servlet registration bean dispatcherServletRegistration

Action:

Consider revisiting the entries above or defining a bean of type 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath' in your configuration.
 

Любой намек на то, как устранить эти ошибки / проблемы. Если возможно, пожалуйста, поделитесь любым примером кода, спасибо

Комментарии:

1. Просто предположение, но попробуйте добавить шаблон URL-адреса для DispatcherServlet

2. Я добавил шаблон URL-адреса, не работает