Support extensible slot chain builder using SPI mechanism #145
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe what this PR does / why we need it
Support extensible slot chain builder.
Due to the fact that the order between slots in slot chain is essential, we make the slot chain builder extensible so that users can implement their own builder, where they can arrange the order between slots.
Does this pull request fix one issue?
Resolves #55
Describe how you did it
SlotChainBuilder
is extensible now using Java SPI mechanism.sentinel-core
provides the basic implementationDefaultSlotChainBuilder
.SlotChainProvider
to load slot chain builder and create new slot chain. The rule:SlotChainBuilder
, then use the default builderSlotChainBuilder
exists, the provider will pick the first loaded slot chain builder, then cache the builder.Describe how to verify it
Integration test between modules to verify the load order of multi slot chain builders.