Skip to content

Commit 5ecb3ff

Browse files
committed
back
1 parent b318202 commit 5ecb3ff

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8AutoConfiguration.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.fabric8.kubernetes.client.ConfigBuilder;
2323
import io.fabric8.kubernetes.client.KubernetesClient;
2424
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
25+
import jakarta.annotation.PreDestroy;
2526

2627
import org.springframework.beans.factory.annotation.Autowired;
2728
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -106,7 +107,7 @@ public Config kubernetesClientConfig(KubernetesClientProperties kubernetesClient
106107

107108
}
108109

109-
@Bean(destroyMethod = "close")
110+
@Bean
110111
@ConditionalOnMissingBean
111112
public KubernetesClient kubernetesClient(Config config) {
112113
return new KubernetesClientBuilder().withConfig(config).build();
@@ -118,4 +119,15 @@ public Fabric8PodUtils kubernetesPodUtils(KubernetesClient client) {
118119
return new Fabric8PodUtils(client);
119120
}
120121

122+
@PreDestroy
123+
void preDestroy() {
124+
context.getBeansOfType(KubernetesClient.class).values().forEach(KubernetesClient::close);
125+
126+
// in case of bootstrap
127+
ApplicationContext parent = context.getParent();
128+
if (parent != null) {
129+
parent.getBeansOfType(KubernetesClient.class).values().forEach(KubernetesClient::close);
130+
}
131+
}
132+
121133
}

0 commit comments

Comments
 (0)