Skip to content

feat: make plugin FQN configs optional with strict-or-graceful loading#237

Merged
popduke merged 2 commits intoapache:mainfrom
liaodn:feat/plugin-auto-defaults
Mar 30, 2026
Merged

feat: make plugin FQN configs optional with strict-or-graceful loading#237
popduke merged 2 commits intoapache:mainfrom
liaodn:feat/plugin-auto-defaults

Conversation

@liaodn
Copy link
Copy Markdown
Contributor

@liaodn liaodn commented Mar 27, 2026

Make authProviderFQN, resourceThrottlerFQN, and settingProviderFQN in standalone.yml optional to improve local dev/test ergonomics.

  • If a *FQN field is explicitly set, treat it as a hard requirement: BifroMQ will fail fast on startup if the plugin class is missing or fails to initialize.
  • If the field is omitted, apply auto-selection logic:
    1. Discover all registered custom plugins for the extension point.
    2. Sort by plugin key (byte-wise alphabetical) and pick the first.
    3. Fall back to built-in default only if no custom plugins exist.

This provides a clear contract for production (explicit = strict) while keeping local development simple and low-friction.

Fixes #236

…loading

Make authProviderFQN, resourceThrottlerFQN, and settingProviderFQN in
standalone.yml optional to improve local dev/test ergonomics.

- If a *FQN field is explicitly set, treat it as a hard requirement:
  BifroMQ will fail fast on startup if the plugin class is missing or fails to initialize.
- If the field is omitted, apply auto-selection logic:
  1. Discover all registered custom plugins for the extension point.
  2. Sort by plugin key (byte-wise alphabetical) and pick the first.
  3. Fall back to built-in default only if no custom plugins exist.

This provides a clear contract for production (explicit = strict)
while keeping local development simple and low-friction.

Fixes apache#236
@liaodn liaodn changed the title feat(core): make plugin FQN configs optional with strict-or-graceful … feat: make plugin FQN configs optional with strict-or-graceful loading Mar 27, 2026
Signed-off-by: liaodongnian <361485583@qq.com>
Copy link
Copy Markdown
Contributor

@popduke popduke left a comment

Choose a reason for hiding this comment

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

Looks great, thx!

@popduke popduke merged commit 41313fd into apache:main Mar 30, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Default Plugin Loading Logic in standalone.yml to Prevent Production Issues Caused by Missing Configurations

2 participants