This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.20.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8a7422915d32f08c70eb3e738894dfa4bc145aa7
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Feb 1 13:39:33 2023 +0100

    CAMEL-18131 - camel-health - Add health checks for components that has 
extension for connectivity verification - AWS MQ
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../apache/camel/component/aws2/mq/MQ2Endpoint.java    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git 
a/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2Endpoint.java
 
b/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2Endpoint.java
index 33fd6c0cb46..b5750627a9c 100644
--- 
a/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2Endpoint.java
+++ 
b/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2Endpoint.java
@@ -22,6 +22,8 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.aws2.mq.client.MQ2ClientFactory;
+import org.apache.camel.health.HealthCheckHelper;
+import org.apache.camel.impl.health.ComponentsHealthCheckRepository;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.ScheduledPollEndpoint;
@@ -37,6 +39,9 @@ public class MQ2Endpoint extends ScheduledPollEndpoint {
 
     private MqClient mqClient;
 
+    private ComponentsHealthCheckRepository healthCheckRepository;
+    private MQ2ClientHealthCheck clientHealthCheck;
+
     @UriParam
     private MQ2Configuration configuration;
 
@@ -62,10 +67,23 @@ public class MQ2Endpoint extends ScheduledPollEndpoint {
         mqClient = configuration.getAmazonMqClient() != null
                 ? configuration.getAmazonMqClient()
                 : MQ2ClientFactory.getMqClient(configuration).getMqClient();
+
+        healthCheckRepository = 
HealthCheckHelper.getHealthCheckRepository(getCamelContext(),
+                ComponentsHealthCheckRepository.REPOSITORY_ID, 
ComponentsHealthCheckRepository.class);
+
+        if (healthCheckRepository != null) {
+            clientHealthCheck = new MQ2ClientHealthCheck(this, getId());
+            healthCheckRepository.addHealthCheck(clientHealthCheck);
+        }
     }
 
     @Override
     public void doStop() throws Exception {
+        if (healthCheckRepository != null && clientHealthCheck != null) {
+            healthCheckRepository.removeHealthCheck(clientHealthCheck);
+            clientHealthCheck = null;
+        }
+
         if (ObjectHelper.isEmpty(configuration.getAmazonMqClient())) {
             if (mqClient != null) {
                 mqClient.close();

Reply via email to