Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当辅助数据源数据库连接不可用时,Spring引导不会启动_Java_Spring - Fatal编程技术网

Java 当辅助数据源数据库连接不可用时,Spring引导不会启动

Java 当辅助数据源数据库连接不可用时,Spring引导不会启动,java,spring,Java,Spring,我也禁用了指标,但运气不好 Caused by: java.lang.NullPointerException at org.springframework.boot.actuate.endpoint.DataSourcePublicMetrics.initialize(DataSourcePublicMetrics.java:64) ~[spring-boot-actuator-1.3.2.RELEASE.jar:1.3.2.RELEASE] at sun.reflect.Na

我也禁用了指标,但运气不好

Caused by: java.lang.NullPointerException
    at org.springframework.boot.actuate.endpoint.DataSourcePublicMetrics.initialize(DataSourcePublicMetrics.java:64) ~[spring-boot-actuator-1.3.2.RELEASE.jar:1.3.2.RELEASE]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_79]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_79]
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:354) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]

始终会创建
DataSourcePublicMetrics
bean,即使禁用了度量。当数据库连接不可用时,这会导致
NullPointerException
,导致spring引导无法启动。

我正在使用Hikari数据源,当数据库不可用时,它无法构造数据源对象。因此,来自DataSourcePublicMetricsBean的NPE。我能够避免创建一个Hikari数据源的问题,该数据源是用数据库配置惰性初始化的,即使当数据库变得可用时,数据库不可供以后使用。不确定为什么HikariDataSource没有用于lazy init的构造函数。它确实有一个默认构造函数,但不能使用任何setter方法设置数据库配置。这对于启动数据库并不总是必需的应用程序非常有用

endpoints.enabled=false
endpoints.autoconfig.enabled=false
endpoints.metrics.enabled=false

我正在使用Hikari数据源,当数据库不可用时,它无法构造数据源对象。因此,来自DataSourcePublicMetricsBean的NPE。我能够避免创建一个Hikari数据源的问题,该数据源是用数据库配置惰性初始化的,即使当数据库变得可用时,数据库不可供以后使用。不确定为什么HikariDataSource没有用于lazy init的构造函数。它确实有一个默认构造函数,但不能使用任何setter方法设置数据库配置。这对于启动数据库并不总是必需的应用程序非常有用

endpoints.enabled=false
endpoints.autoconfig.enabled=false
endpoints.metrics.enabled=false