Skip to content
This repository was archived by the owner on Feb 23, 2023. It is now read-only.

Commit d584e5e

Browse files
committed
tweaking hints on actuators
1 parent 4595c01 commit d584e5e

File tree

3 files changed

+43
-8
lines changed

3 files changed

+43
-8
lines changed

spring-graalvm-native-configuration/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationHints.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,26 @@
4040
// Hitting /health endpoint
4141
@NativeImageHint(trigger = HealthEndpointAutoConfiguration.class, typeInfos = {
4242
@TypeInfo(types = {
43-
SimpleHttpCodeStatusMapper.class,
44-
SimpleStatusAggregator.class,
45-
PingHealthIndicator.class,
4643
// TODO [0.9.0] these two should be more conditional? surely it is one or the other
4744
ReactiveHealthEndpointWebExtension.class,
4845
HealthEndpointWebExtension.class,
49-
Status.class,
46+
},access=AccessBits.LOAD_AND_CONSTRUCT),
47+
@TypeInfo(types = {
5048
StatusAggregator.class,
49+
SimpleStatusAggregator.class,
50+
HttpCodeStatusMapper.class,
51+
SimpleHttpCodeStatusMapper.class,
52+
},access=AccessBits.LOAD_AND_CONSTRUCT|AccessBits.PUBLIC_METHODS),
53+
@TypeInfo(types = {
54+
// PingHealthIndicator.class,
55+
Status.class,
5156
SystemHealth.class,
5257
CompositeHealth.class,
5358
HealthIndicator.class,
54-
HttpCodeStatusMapper.class,
5559
NamedContributors.class,
5660
HealthComponent.class,
57-
HealthContributorAutoConfiguration.class,
58-
HealthEndpointProperties.class,
61+
// HealthContributorAutoConfiguration.class,
62+
// HealthEndpointProperties.class,
5963
HealthProperties.class,
6064
HealthContributor.class,
6165
HealthComponent.class,
@@ -71,7 +75,7 @@
7175
// "org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthContributorRegistry",
7276
// "org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredReactiveHealthContributorRegistry",
7377
"org.springframework.boot.actuate.autoconfigure.health.HealthContributorRegistryHealthIndicatorRegistryAdapter"
74-
}),
78+
},access=AccessBits.LOAD_AND_CONSTRUCT|AccessBits.PUBLIC_METHODS),
7579
// @TypeInfo(types = {
7680
// HealthContributorRegistry.class, DefaultHealthContributorRegistry.class,
7781
// AutoConfiguredHealthContributorRegistry.class,

spring-graalvm-native-feature/src/main/java/org/springframework/graalvm/support/ResourcesHandler.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,6 +1042,34 @@ private boolean checkJmxConstraint(Type type, ProcessingContext pc) {
10421042
}
10431043
return true;
10441044
}
1045+
1046+
1047+
private boolean checkConditionalOnClass(Type type) {
1048+
boolean isOK = true;//type.testAnyConditionalOnClass();
1049+
if (!isOK) {
1050+
SpringFeature.log(type.getDottedName()+" FAILED ConditionalOnClass check - returning FALSE");
1051+
return false;
1052+
}
1053+
return true;
1054+
}
1055+
1056+
private boolean checkConditionalOnBean(Type type) {
1057+
boolean isOK = true;//type.testAnyConditionalOnBean();
1058+
if (!isOK) {
1059+
SpringFeature.log(type.getDottedName()+" FAILED ConditionalOnBean check - returning FALSE");
1060+
return false;
1061+
}
1062+
return true;
1063+
}
1064+
1065+
private boolean checkConditionalOnEnabledMetricsExport(Type type) {
1066+
boolean isOK = true;//type.testAnyConditionalOnEnabledMetricsExport();
1067+
if (!isOK) {
1068+
SpringFeature.log(type.getDottedName()+" FAILED ConditionalOnEnabledMetricsExport check - returning FALSE");
1069+
return false;
1070+
}
1071+
return true;
1072+
}
10451073

10461074
private boolean checkConditionalOnPropertyAndConditionalOnAvailableEndpointConstraints(Type type) {
10471075
if (ConfigOptions.isEvaluateCOP()) {

spring-graalvm-native-feature/src/main/java/org/springframework/graalvm/type/Type.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,12 @@ public class Type {
7474
public final static String AtBean = "Lorg/springframework/context/annotation/Bean;";
7575
public final static String AtConditionalOnClass = "Lorg/springframework/boot/autoconfigure/condition/ConditionalOnClass;";
7676
public final static String AtConditionalOnProperty = "Lorg/springframework/boot/autoconfigure/condition/ConditionalOnProperty;";
77+
public final static String AtConditionalOnEnabledMetricsExport = "Lorg/springframework/boot/actuate/autoconfigure/metrics/export/ConditionalOnEnabledMetricsExport;";
78+
public final static String AtConditionalOnCloudPlatform = "Lorg/springframework/boot/autoconfigure/condition/ConditionalOnCloudPlatform;";
7779
public final static String AtConditionalOnAvailableEndpoint = "Lorg/springframework/boot/actuate/autoconfigure/endpoint/condition/ConditionalOnAvailableEndpoint;";
7880
public final static String AtConditionalOnEnabledHealthIndicator = "Lorg/springframework/boot/actuate/autoconfigure/health/ConditionalOnEnabledHealthIndicator;";
7981
public final static String AtConditionalOnMissingBean = "Lorg/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean;";
82+
public final static String AtConditionalOnBean = "Lorg/springframework/boot/autoconfigure/condition/ConditionalOnBean;";
8083
public final static String AtConfiguration = "Lorg/springframework/context/annotation/Configuration;";
8184
public final static String AtImportAutoConfiguration = "Lorg/springframework/boot/autoconfigure/ImportAutoConfiguration;";
8285
public final static String AtConfigurationProperties = "Lorg/springframework/boot/context/properties/ConfigurationProperties;";

0 commit comments

Comments
 (0)