camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-10795) PingCheck API
Date Tue, 07 Feb 2017 10:02:42 GMT

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

Claus Ibsen commented on CAMEL-10795:
-------------------------------------

Yes no route is required. 

This helps with tooling and also allows us to have detains in the documentation which options
is used to configure the connection details so the component can connect. Today you have a
lot of options and it may not always be so easy to see which of these I must use to configure
that stuff.

We can consider adding some kind of label="ping" or whatever to the UriParams etc so they
stand out in the docs.

For more complex stuff like SSL we can cross that bridge a bit later. They are frankly a bit
harder to configure with the SSLContext and if you need keystores and certificates and all
that jazz.

However for many SaaS components and the likes, then API tokens etc are maybe more what they
use.

> PingCheck API
> -------------
>
>                 Key: CAMEL-10795
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10795
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core
>            Reporter: Claus Ibsen
>             Fix For: 2.19.0
>
>
> Related to CAMEL-10026 about Health Check API
> We need some way for Camel components to be able to more easily validate if they can
connect to their remote system.
> And for that the user must configure the Camel component/endpoint accordingly with details
such as username/password/tokens/ other beans etc.
> How this is done varies from Camel component to component, but most of them uses endpoint
options.
> So we may want to introduce some interface (whether the name Pingable is a good name
is up for discussion)
> {code}
> interface Pingable {
>     PingResult ping(Map<String, String> config);
>     boolean canPing(Map<String, String> config);
> }
> class PingResult {
>  private boolean isSuccess();
>  private String errorMessage();
> }
> {code}
> This API is just a little suggestion.
> The parameters should ideally be type less, eg Map<String, String> as the user
configures this in endpoint uris, XML DSL etc. and therefore we should be able to do this
without having to use Java code per see.
> Also we may want to have canPing as a method to check if the component can accept the
ping or not. In some cases it may not be able to do the ping.
> For example camel-http component would just require the following information in the
Map<String, String>
> httpUri=http://myserver/foo/bar
> Where httpUri is the name of the option accordingly to the table at
> https://github.com/apache/camel/blob/master/components/camel-http/src/main/docs/http-component.adoc
> And then it depends on each Camel component how they do the ping check, the http component
may do a HTTP HEAD or a HTTP GET etc and check the HTTP response code etc.
> Notice this is not intended entirely for runtime health check, but for validating/testing
Camel components can work with the user given configuration to connect to the remote system.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message