Package io.mats3.spring.jms.factories
Class ConfigurableScenarioDecider
java.lang.Object
io.mats3.spring.jms.factories.ConfigurableScenarioDecider
- All Implemented Interfaces:
ScenarioConnectionFactoryWrapper.ScenarioDecider
public class ConfigurableScenarioDecider
extends Object
implements ScenarioConnectionFactoryWrapper.ScenarioDecider
Configurable
ScenarioConnectionFactoryWrapper.ScenarioDecider, whose defaults implements the logic described in
ScenarioConnectionFactoryProducer and handles all the Spring Profiles specified in MatsProfiles.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAn implementation of this interface can decide whether a specific Mats Scenario is active.static classStandard implementation ofConfigurableScenarioDecider.SpecificScenarioDeciderused in the default configuration ofConfigurableScenarioDecider, which takes a set of profile-or-properties names and checks whether they are present as a Spring Profile, or (with the "-" replaced by ".") whether it exists as a property in the Spring Environment. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNo-args constructor - must set all theConfigurableScenarioDecider.SpecificScenarioDeciderand default MatsScenario by setters.ConfigurableScenarioDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular, ConfigurableScenarioDecider.SpecificScenarioDecider localhost, ConfigurableScenarioDecider.SpecificScenarioDecider localVm, Supplier<MatsScenario> defaultScenario) Takes aConfigurableScenarioDecider.SpecificScenarioDeciderfor each of theMatsScenarios, and a default Supplier of MatsScenario if none of the SpecificScenarioDeciders kicks in - notice that it makes sense that the default instead of providing a MatsScenario instead throws an e.g. -
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigurableScenarioDeciderConfigures aScenarioConnectionFactoryWrapper.ScenarioDeciderthat implements the logic described inScenarioConnectionFactoryProducerand handles all the Spring Profiles specified inMatsProfiles.decision(org.springframework.core.env.Environment env) setDefaultScenario(Supplier<MatsScenario> defaultScenario)
-
Field Details
-
_regular
-
_localhost
-
_localVm
-
_defaultScenario
-
-
Constructor Details
-
ConfigurableScenarioDecider
public ConfigurableScenarioDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular, ConfigurableScenarioDecider.SpecificScenarioDecider localhost, ConfigurableScenarioDecider.SpecificScenarioDecider localVm, Supplier<MatsScenario> defaultScenario) Takes aConfigurableScenarioDecider.SpecificScenarioDeciderfor each of theMatsScenarios, and a default Supplier of MatsScenario if none of the SpecificScenarioDeciders kicks in - notice that it makes sense that the default instead of providing a MatsScenario instead throws an e.g.IllegalStateException(this is what theScenarioConnectionFactoryWrapper.ScenarioDeciderfromcreateDefaultScenarioDecider()does). -
ConfigurableScenarioDecider
public ConfigurableScenarioDecider()No-args constructor - must set all theConfigurableScenarioDecider.SpecificScenarioDeciderand default MatsScenario by setters.
-
-
Method Details
-
createDefaultScenarioDecider
Configures aScenarioConnectionFactoryWrapper.ScenarioDeciderthat implements the logic described inScenarioConnectionFactoryProducerand handles all the Spring Profiles specified inMatsProfiles.- Returns:
- a configured
ScenarioConnectionFactoryWrapper.ScenarioDecider
-
setRegularDecider
public ConfigurableScenarioDecider setRegularDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular) -
setLocalhostDecider
public ConfigurableScenarioDecider setLocalhostDecider(ConfigurableScenarioDecider.SpecificScenarioDecider localhost) -
setLocalVmDecider
public ConfigurableScenarioDecider setLocalVmDecider(ConfigurableScenarioDecider.SpecificScenarioDecider localVm) -
setDefaultScenario
-
decision
- Specified by:
decisionin interfaceScenarioConnectionFactoryWrapper.ScenarioDecider
-