- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 Spring 项目(而不是 Spring Boot)中实现执行器。我在 pom 文件中添加了以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
还添加了以下类:
import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration;
import org.springframework.boot.actuate.endpoint.MetricsEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import({EndpointAutoConfiguration.class, PublicMetricsAutoConfiguration.class})
public class SpringBootActuatorConfigBindings {
@Bean
@Autowired
public EndpointHandlerMapping endpointHandlerMapping(Collection<? extends MvcEndpoint> endpoints) {
return new EndpointHandlerMapping(endpoints);
}
@Bean
@Autowired
public EndpointMvcAdapter metricsEndPoint(MetricsEndpoint delegate) {
return new EndpointMvcAdapter(delegate);
}
}
但是在运行时我遇到以下错误:
[local] [] [ERROR] [2019-04-22T14:24:47,347] [ Console scanner] [work.web.context.ContextLoader] Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.mycompany.ans.processor.bindings.ProcessorBindings]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:599) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:302) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:691) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:528) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:400) ~[spring-web-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) [spring-web-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:360) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:428) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.JettyRunMojo.restartWebApp(JettyRunMojo.java:517) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.ConsoleScanner.restartWebApp(ConsoleScanner.java:112) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.ConsoleScanner.checkSystemInput(ConsoleScanner.java:76) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.maven.plugin.ConsoleScanner.run(ConsoleScanner.java:46) [jetty-maven-plugin-9.4.12.v20180830.jar:9.4.12.v20180830] Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:169) ~[spring-core-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:392) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:317) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:589) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] ... 29 more Caused by: java.lang.NoClassDefFoundError: org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_202] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_202] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_202] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_202] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_202] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_202] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_202] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_202] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_202] at org.eclipse.jetty.webapp.WebAppClassLoader.foundClass(WebAppClassLoader.java:649) ~[?:?] at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:555) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_202] at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_202] at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_202] at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[?:1.8.0_202] at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:158) ~[spring-core-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:392) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:317) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:589) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
我失踪的地方。
最佳答案
如果您检查异常日志:
Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings
at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:169) ~[spring-core-5.1.1.RELEASE.jar:5.1.1.RELEASE]
at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:392) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:317) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:589) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
... 29 more
Caused by: java.lang.NoClassDefFoundError:
org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_202]
...
您需要包含 Spring Web mvc 的依赖项,从中实现并需要 RequestMappingHandlerMapping
类。这就是 NoClassDefFoundError
的原因。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
关于java - [Spring][Actuators] 无法处理配置类的导入候选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55791858/
我能够访问 http://localhost:8081/health、/status、/env、 等端点/metrics、/shutdown 但 not /actuator 或 /loginfo 端点
我有一个用例,我需要跟踪给定组件的处理时间指标,并将其用作我的 spring-boot 应用程序中调整目的的反馈循环。我想我会在我需要监视的组件中通过 Autowiring 的 GaugeServic
我已将以下依赖项添加到我的 Spring Boot 项目中 implementation 'io.github.resilience4j:resilience4j-spring-boot2:0.14.
我正在尝试使用 Kubernetes Probes来自 Spring Boot Actuator,但它不起作用。 我在 application.properties 中设置了以下内容: managem
每次我在请求 localhost:60001/info、localhost:60001/actuator 或其他时收到 404 错误。 {"timestamp":1570711643410,"stat
Spring Boot 的执行器基础端点返回 json 和所有启用端点的 href 链接。这些链接都默认为 localhost:8080,但我使用主机名(例如 machine.mydomain.com
我正在使用以下执行器依赖项 org.springframework.boot spring-boot-starter-actuator 带有 Spring Boot 2,
我正在试着写一个小的Hello world程序,并用战争来包装它。我正在使用maven并编写一个SpringBoot应用程序来做这件事。。以下是我的Application.Java文件。在构建它时,我
我创建了一个简单的示例项目,只有 spring-web 和 spring-actuator。我无法在此项目中调用 /actuator 端点。我唯一得到的是 404 错误: 出现意外错误(type=No
我已经激活了 Spring 执行器 prometheus endpont /actuator/prometheus .通过添加千分尺和执行器的依赖项并启用 prometheus 端点。我怎样才能获得自
是否可以处理像 health 这样的执行器请求在与“主”应用程序分开的线程池中? 我为什么要问? 我有一个应用程序,它有时可能会用完所有可用线程,并且 Kubernetes 运行状况检查由于线程不可用
我正在使用springbooot 2.4.0,并添加了以下依赖项以启用普罗米修斯度量标准: org.springframework.boot spring-boot-
我有一个Spring Boot REST服务应用程序。该应用程序使用Spring Actuator来显示指标和健康信息。如何从运行同一应用程序的两个或多个容器中聚合此信息? 最佳答案 您需要将度量标准
我正在尝试在我的 Spring 项目(而不是 Spring Boot)中实现执行器。我在 pom 文件中添加了以下依赖项: org.springframework.boot
关于如何将/trace 端点中显示的信息记录到文件(日志文件)中的任何指示我的用例是我想使用执行器将所有请求和响应信息记录到日志文件中,这样我就有了将最少的日志记录相关代码写入我的应用程序代码中。我搜
我正在将 JSF 与 Birt 报告集成,并能够从 Java 代码连接 IHub 服务器。还获取某个特定文件夹中的所有报告文件,并将报告文件名显示到 JSF 数据列表中。现在,当任何人单击报告文件名时
本次示例以Windows示例 推荐到官网去下载:Windows版的应用程序 下载最新版 prometheus-2.37.8.windows-amd64 压缩包:解压就行
我想在调用执行器端点 /info 和 /health 时禁用 Content-Negotiation 这是我的配置文件 @Configuration public class InterceptorA
假设我有 Spring Boot 服务 A,它依赖于(调用)Spring Boot 服务 B。 A -> B Spring Boot Actuators可以告诉我 A 是否启动。 https://A/
最近我将 spring-boot-starter-actuator 更新到 2.2.2,当我使用 /health 端点时,我得到了: { "groups": [], "status":
我是一名优秀的程序员,十分优秀!