Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.x
-
None
-
Unknown
Description
The property binding support for the ceOverride option on the Knative component always misses the first value that is being set via component/endpoint configurer.
The ceOverride option is a map typed setting and users are able to set these values with OGNL style property keys (e.g. in application.properties).
camel.component.knative.ceOverride[ce-type]=custom-type camel.component.knative.ceOverride[ce-source]=custom-source
The 1st key-value pair initializes the ceOverride map during property binding but the value is missing in the resulting configuration map. The property binding support assumes that the target component uses the same map instance that is being initialized by the property binding support. But the Knative component configuration uses its on map instance in the setter with the given map instance as a parent
this.ceOverride = new HashMap(parentMap)
This makes the 1st value set via property binding disappear in the component configuration because the map instances are not the same.
The 2nd value set via property binding support uses the right map instance of the component because it has already been initialized.
Attachments
Issue Links
- links to