[ 
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)

Reply via email to