[
https://issues.apache.org/jira/browse/CAMEL-10031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16001029#comment-16001029
]
Luca Burgazzoli edited comment on CAMEL-10031 at 5/8/17 4:29 PM:
-----------------------------------------------------------------
Would it make sense to have an hook on the component to inject an "endpoint
options processor" ? Because not all the endpoints have a getter/setter for the
options (most of the new component have a configuration class instead) the auto
configuration task may not be trivial.
As far as I remember there was also a discussion on how to assign an id to an
endpoint and if we can make that we can do something like:
{code:java}
from("ftp://bar@myserver/path?id=test")
.to("...")
{code}
{code}
camel.component.ftp.endpoints[test].password = secret
{code}
The hook (which is added by spring-boot auto configuration) will then inspect
the components option for an id field and adds the options from spring-boot
related to such id.
For xml we can leverage the id on the element.
The hook may be triggered between:
{code:java} Endpoint createEndpoint(String uri) {code}
And:
{code:java} Endpoint createEndpoint(String uri, String remaining,
Map<String,Object> parameters) {code}
An interesting side effect of this implementation is that secrets like username
and password may be provided by the vault back-end or i.e. kubernetes secrets
for application that have spring-cloud-kubernetes.
was (Author: lb):
Would it make sense to have an hook on the component to inject an "endpoint
options processor" ? Because not all the endpoints have a getter/setter for the
options (most of the new component have a configuration class instead) the auto
configuration task may not be trivial.
As far as I remember there was also a discussion on how to assign an id to an
endpoint and if we can make that we can do something like:
{code:java}
from("ftp://bar@myserver/path?id=test")
.to("...")
{code}
{code}
camel.component.ftp.endpoints[test].password = secret
{code}
The hook (which is added by spring-boot auto configuration) will then inspect
the components option for an id field and adds the options from spring-boot
related to such id.
For xml we can leverage the id on the element.
The hook may be triggered between:
{code:java} Endpoint createEndpoint(String uri) {code}
And:
{code:java} Endpoint createEndpoint(String uri, String remaining,
Map<String,Object> parameters) {code}
> camel-spring-boot - Add endpoint options as type-safe configuration properties
> ------------------------------------------------------------------------------
>
> Key: CAMEL-10031
> URL: https://issues.apache.org/jira/browse/CAMEL-10031
> Project: Camel
> Issue Type: New Feature
> Components: camel-spring-boot
> Reporter: Claus Ibsen
> Assignee: Nicola Ferraro
>
> See CAMEL-9419.
> We can now configure this for all the components. But for endpoints its a bit
> more as you can have many endpoints with different configuration.
> So either you assign an id to the endpoint you configure, and then need to
> refer to the endpoint by id, in the camel routes. Or we figure out something
> else.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)