Вот пример того, как реализовать ServletWrappingController. В этом случае я упаковываю MetricsServlet Prometheus, но вы можете легко изменить это для любого существующего сервлета.
@Configuration
public class MetricsConfiguration {
/**
* Register the metricsController.
* @return Returns the ServletWrappingController for the Prometheus
* MetricsServlet.
*/
@Bean
public ServletWrappingController metricsController() throws Exception {
ServletWrappingController controller = new ServletWrappingController();
controller.setServletClass(MetricsServlet.class);
controller.setBeanName("metricsController");
controller.afterPropertiesSet();
return controller;
}
/**
* Map /metrics to the metricsController.
* @return Returns the SimpleUrlHandlerMapping.
*/
@Bean
public SimpleUrlHandlerMapping metricsControllerMapping() {
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
Properties urlProperties = new Properties();
urlProperties.put("/metrics", "metricsController");
mapping.setMappings(urlProperties);
mapping.setOrder(Integer.MAX_VALUE - 2);
return mapping;
}
}
Если вы хотите сделать это с помощью XML вместо аннотаций, в есть примеры (как упомянуто @pap).
Здесь также есть некоторая полезная информация о том, как выполнить ее отображение здесь .