[ 
https://issues.apache.org/jira/browse/CAMEL-10026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15793056#comment-15793056
 ] 

Nicola Ferraro commented on CAMEL-10026:
----------------------------------------

Really interesting. From what I read in the linked discussion, we need to track 
health issues down to routes and contexts, to be able to identify which part of 
the application has to be fixed (maybe rescheduling it somewhere else). So the 
API should allow tracking the set of affected Camel items.
Another concern is whether the health should be measured during message 
processing or triggered periodically by an external component, or better allow 
both pro-active/re-active health indications.
Being Camel an integration framework, external systems are often the cause of 
health issues, so here we use the health of the external system or the health 
of our connection to them as an indicator for our routes. We should take into 
account external systems and protocols that have the equivalent of a "ping" 
command (file, ftp), but also systems that don't have them out of the box. In 
the latter case, a problem encountered during message processing may be used to 
detect a health issue (if we are able to distinguish system vs application 
errors). In some cases, a health check may be specified by the user: think 
about external http services exposing a "/health" endpoint.

Just my 2c.

> HealthCheck API
> ---------------
>
>                 Key: CAMEL-10026
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10026
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core
>            Reporter: Claus Ibsen
>
> Add a health check API to camel-core so this API can be queried from Java / 
> JMX / spring-boot etc. so users can easily get a health check. This can be 
> used for liveness/readiness checks for their Camel apps.
> The API should allow optional support for components to implement custom 
> logic for health check. So a FTP component can connect to a FTP server and do 
> a FTP list etc. A JDBC component does a SQL query, and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to