Spring Boot Jersey和监视URL
我们在Jersey上有一个简单的Spring Boot" title="Spring Boot">Spring Boot应用程序。
Spring Boot提供默认的监视端点
http://docs.spring.io/spring-boot/docs/current-
SNAPSHOT/reference/htmlsingle/#production-ready-
monitoring
例:
@Componentpublic class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
// registering resources from rest package
packages("com.xyx.abc.rest");
}
}
Spring Boot提供的REST端点在Spring Boot Jersey应用程序的上下文中不可用。
Spring Boot依赖项包括Jersey,starter-actuator,starter-tomcat。
我们的REST资源显示得很好,但是Spring Boot提供的用于监视的资源却没有显示。
例如,http: //abc.xyx.com
: 8080/
health返回404
回答:
如果您将其用作Filter
,则需要告诉Jersey不要处理这些请求。例如,通过将Jersey资源放在单独的路径下,例如“ / api /
*”或类似的内容:
@Beanpublic FilterRegistrationBean jersey() {
FilterRegistrationBean bean = new FilterRegistrationBean();
...
bean.setUrlPatterns(Lists.newArrayList("/api/*"));
return bean;
}
(从这里开始)。
或通过声明您的管理端点为“静态”(通过另一个初始化参数“
com.sun.jersey.config.property.WebPageContentRegex”):
@Beanpublic FilterRegistrationBean jersey() {
FilterRegistrationBean bean = new FilterRegistrationBean();
...
bean.addInitParameter("com.sun.jersey.config.property.WebPageContentRegex",
"/admin/.*");
return bean;
}
我们management.contextPath=/admin
在Spring Boot外部配置中设置的位置(否则,您必须枚举正则表达式中的所有端点)。
您还可以告诉Jersey忽略未解决的请求(而不是发送404)。这也可以实现您的目标,但可能会影响您的客户端应用程序(如果它们依赖于404行为)。
以上是 Spring Boot Jersey和监视URL 的全部内容, 来源链接: utcz.com/qa/403589.html