camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dhiraj Bokde (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-10197) camel-spring-boot - Extend the configuration hints to nested properties
Date Mon, 19 Sep 2016 14:46:20 GMT

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

Dhiraj Bokde commented on CAMEL-10197:
--------------------------------------

Nested properties would only work for first level properties, i.e. if a component has a property
of type {{ClassA}}, and it's marked {{@NestedConfigurationProperty}}, Spring will only allow
setting properties of that bean. This actually makes it easier to set properties of properties
and create simple bean property fields on the fly. 
I've tried to think of a solution to it, but Camel refs won't work in the spring boot context,
since properties can't be set as _ref_ string fields to point to the referenced bean. For
e.g. if a component has property {{propA}} of type {{ClassA}}, Spring Boot won't allow setting
it as propA=#refA, since it will try to convert it using it's own binding mechanism. 
I haven't tried it, but Spring Boot should support setting complex component with bean references
using  {{${}}}. 

> camel-spring-boot - Extend the configuration hints to nested properties
> -----------------------------------------------------------------------
>
>                 Key: CAMEL-10197
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10197
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-spring-boot
>            Reporter: Nicola Ferraro
>            Assignee: Dhiraj Bokde
>
> Support for spring-boot configuration allows users to configure the component properties
but does not give any hint on nested properties.
> There are many components that declare properties on nested beans.
> Eg. camel-docker has only one property named _configuration_ .  I found this pattern
in components that allow users to specify a default value on the component and override it
on each endpoint, if necessary.
> Setting the property:
> {code}
> camel.component.docker.configuration.host=172.28.128.4
> {code}
> allows a user to specify the docker host, but the tooling does not give suggestions about
that property.
> A way to allow the users to view the nested properties is using the {{NestedConfigurationProperty}}
annotation on the spring-boot configuration class. The spring-boot inspector will scan the
nested class for properties.
> The drawback is that the javadoc is not read from setters. Another drawback is that we
will be using a different approach respect to the "read-the-json" one.
> We need to figure out how to add these properties.



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

Mime
View raw message