mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-09-03 04:26:12 +08:00
Merge branch '2.7.x' into 3.0.x
Closes gh-34070
This commit is contained in:
commit
81c8574bca
@ -76,14 +76,14 @@ public abstract class AbstractReactiveHealthIndicator implements ReactiveHealthI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final Mono<Health> health() {
|
public final Mono<Health> health() {
|
||||||
Mono<Health> result;
|
|
||||||
try {
|
try {
|
||||||
result = doHealthCheck(new Health.Builder()).onErrorResume(this::handleFailure);
|
Health.Builder builder = new Health.Builder();
|
||||||
|
Mono<Health> result = doHealthCheck(builder).onErrorResume(this::handleFailure);
|
||||||
|
return result.doOnNext((health) -> logExceptionIfPresent(builder.getException()));
|
||||||
}
|
}
|
||||||
catch (Exception ex) {
|
catch (Exception ex) {
|
||||||
result = handleFailure(ex);
|
return handleFailure(ex);
|
||||||
}
|
}
|
||||||
return result.doOnNext((health) -> logExceptionIfPresent(health.getException()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void logExceptionIfPresent(Throwable ex) {
|
private void logExceptionIfPresent(Throwable ex) {
|
||||||
@ -94,6 +94,7 @@ public abstract class AbstractReactiveHealthIndicator implements ReactiveHealthI
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Mono<Health> handleFailure(Throwable ex) {
|
private Mono<Health> handleFailure(Throwable ex) {
|
||||||
|
logExceptionIfPresent(ex);
|
||||||
return Mono.just(new Health.Builder().down(ex).build());
|
return Mono.just(new Health.Builder().down(ex).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ import java.util.Collections;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
|
|
||||||
@ -47,7 +46,6 @@ import org.springframework.util.Assert;
|
|||||||
* @author Christian Dupuis
|
* @author Christian Dupuis
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
* @author Michael Pratt
|
* @author Michael Pratt
|
||||||
* @author Moritz Halbritter
|
|
||||||
* @since 1.1.0
|
* @since 1.1.0
|
||||||
*/
|
*/
|
||||||
@JsonInclude(Include.NON_EMPTY)
|
@JsonInclude(Include.NON_EMPTY)
|
||||||
@ -57,8 +55,6 @@ public final class Health extends HealthComponent {
|
|||||||
|
|
||||||
private final Map<String, Object> details;
|
private final Map<String, Object> details;
|
||||||
|
|
||||||
private final Throwable exception;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new {@link Health} instance with the specified status and details.
|
* Create a new {@link Health} instance with the specified status and details.
|
||||||
* @param builder the Builder to use
|
* @param builder the Builder to use
|
||||||
@ -67,13 +63,11 @@ public final class Health extends HealthComponent {
|
|||||||
Assert.notNull(builder, "Builder must not be null");
|
Assert.notNull(builder, "Builder must not be null");
|
||||||
this.status = builder.status;
|
this.status = builder.status;
|
||||||
this.details = Collections.unmodifiableMap(builder.details);
|
this.details = Collections.unmodifiableMap(builder.details);
|
||||||
this.exception = builder.exception;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Health(Status status, Map<String, Object> details) {
|
Health(Status status, Map<String, Object> details) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
this.details = details;
|
this.details = details;
|
||||||
this.exception = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -107,11 +101,6 @@ public final class Health extends HealthComponent {
|
|||||||
return status(getStatus()).build();
|
return status(getStatus()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonIgnore
|
|
||||||
Throwable getException() {
|
|
||||||
return this.exception;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (obj == this) {
|
if (obj == this) {
|
||||||
|
Loading…
Reference in New Issue
Block a user