Skip to content

4.x: Declarative features configuration alignment and documentation #10394

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tomas-langer
Copy link
Member

Update of FT features, added common configuration for name and enabled
Update to declarative features, to honor configuration overrides where reasonable Update to declarative documentation to describe approach to configuration

Update to declarative features, to honor configuration overrides where reasonable
Update to declarative documentation to describe approach to configuration
@tomas-langer tomas-langer added this to the 4.3.0 milestone Jul 17, 2025
@tomas-langer tomas-langer self-assigned this Jul 17, 2025
@tomas-langer tomas-langer added 4.x Version 4.x declarative Helidon Declarative labels Jul 17, 2025
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jul 17, 2025
…n the module readme

Updated configuration for HTTP example

1. Configuration key may be explicitly defined in an annotation to override the rules below
2. The root configuration node for overriding annotation values is `type-config`
3. Second level configuration node is the fully qualified class name of the annotated type (i.e. `com.example.MyType`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So in Java properties format would this look like type-config.com.foo.Bar.blat.frob? How do I know what the class name is?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you do not need to know - the key is created by the component. As this is a fully qualified class name, there cannot be duplicate cases.
You could theoretically factor a duplicate key, but you would have to use package name starting with a capital letter, and class name starting with a lower case one - we do not need to support this

type-config:
"com.example.MyType":
server:
listener: "admin" # override socket name
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(So in Java properties format this is type-config.com.example.MyType.server.listener = admin. Is that OK?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that is the key that would be used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.x Version 4.x declarative Helidon Declarative OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants