Skip to content
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

[NAE-1989] RunnerController refactor #264

Merged
merged 16 commits into from
Nov 11, 2024
Merged

[NAE-1989] RunnerController refactor #264

merged 16 commits into from
Nov 11, 2024

Conversation

tuplle
Copy link
Member

@tuplle tuplle commented Jul 17, 2024

Description

The order of NAE application runners is specified by annotations RunnerOrder and RunnerController class is removed as it is not needed. This new way to define the order of execution for an application runner offers more freedom to downstream applications and modules that need to define custom runners and inject them into defined order.

For keeping the safe window for custom application runners the runner ProcessApplicationStartupRunnerExecutor is created that is scanning for a runner that implements ProcessApplicationStartupRunner interface. The interface is dedicated for custom downstream application runners to ensure execution only in the safe window instead of injecting in the order of predefined NAE runners.

Implements NAE-1989

Dependencies

No new dependencies were introduced.

Blocking Pull requests

There are no dependencies on other PR.

How Has Been This Tested?

Manually tested on current runner classes and with temporary created dummy runners to simulate different scenarious.

Test Configuration

Name Tested on
OS Manjaro 24
Runtime OpenJDK 21
Dependency Manager Maven 3
Framework version Spring Boot 3
Run parameters
Other configuration

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes have been checked, personally or remotely, with @renczesstefan , @machacjozef
  • I have commented my code, particularly in hard-to-understand areas
  • I have resolved all conflicts with the target branch of the PR
  • I have updated and synced my code with the target branch
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes:
    • Lint test
    • Unit tests
    • Integration tests
  • I have checked my contribution with code analysis tools:
  • I have made corresponding changes to the documentation:
    • Developer documentation
    • User Guides
    • Migration Guides

tuplle and others added 7 commits July 3, 2024 01:33
- add mechanism for ordering NAE runners
- add runner to execute custom application runner
- migrate existing runners to new mechanism
- fix runner bean class resolution for AOP
- refactor sorting method so can be used outside of resolver class
- add annotation to replace runner with another runner
- fix processing of order of runners for annotations BeforeRunner, AfterRunner, and ReplaceRunner
- make replaced runner skip execution
@tuplle tuplle added improvement A change that improves on an existing feature breaking change Fix or feature that would cause existing functionality doesn't work as expected labels Jul 17, 2024
@tuplle tuplle self-assigned this Jul 17, 2024
@machacjozef machacjozef merged commit ea54563 into release/7.0.0 Nov 11, 2024
4 of 6 checks passed
@machacjozef machacjozef deleted the NAE-1989 branch November 11, 2024 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change Fix or feature that would cause existing functionality doesn't work as expected improvement A change that improves on an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants