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 java.lang.Object implements ScenarioConnectionFactoryWrapper.ScenarioDecider
ConfigurableScenarioConnectionFactoryWrapper.ScenarioDecider, whose defaults implements the logic described inScenarioConnectionFactoryProducerand handles all the Spring Profiles specified inMatsProfiles.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceConfigurableScenarioDecider.SpecificScenarioDeciderAn implementation of this interface can decide whether a specific Mats Scenario is active.static classConfigurableScenarioDecider.StandardSpecificScenarioDeciderStandard 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 Modifier and Type Field Description protected java.util.function.Supplier<MatsScenario>_defaultScenarioprotected ConfigurableScenarioDecider.SpecificScenarioDecider_localhostprotected ConfigurableScenarioDecider.SpecificScenarioDecider_localVmprotected ConfigurableScenarioDecider.SpecificScenarioDecider_regular
-
Constructor Summary
Constructors Constructor Description ConfigurableScenarioDecider()No-args constructor - must set all theConfigurableScenarioDecider.SpecificScenarioDeciderand default MatsScenario by setters.ConfigurableScenarioDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular, ConfigurableScenarioDecider.SpecificScenarioDecider localhost, ConfigurableScenarioDecider.SpecificScenarioDecider localVm, java.util.function.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ConfigurableScenarioDecidercreateDefaultScenarioDecider()Configures aScenarioConnectionFactoryWrapper.ScenarioDeciderthat implements the logic described inScenarioConnectionFactoryProducerand handles all the Spring Profiles specified inMatsProfiles.MatsScenariodecision(org.springframework.core.env.Environment env)ConfigurableScenarioDecidersetDefaultScenario(java.util.function.Supplier<MatsScenario> defaultScenario)ConfigurableScenarioDecidersetLocalhostDecider(ConfigurableScenarioDecider.SpecificScenarioDecider localhost)ConfigurableScenarioDecidersetLocalVmDecider(ConfigurableScenarioDecider.SpecificScenarioDecider localVm)ConfigurableScenarioDecidersetRegularDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular)
-
-
-
Field Detail
-
_regular
protected ConfigurableScenarioDecider.SpecificScenarioDecider _regular
-
_localhost
protected ConfigurableScenarioDecider.SpecificScenarioDecider _localhost
-
_localVm
protected ConfigurableScenarioDecider.SpecificScenarioDecider _localVm
-
_defaultScenario
protected java.util.function.Supplier<MatsScenario> _defaultScenario
-
-
Constructor Detail
-
ConfigurableScenarioDecider
public ConfigurableScenarioDecider(ConfigurableScenarioDecider.SpecificScenarioDecider regular, ConfigurableScenarioDecider.SpecificScenarioDecider localhost, ConfigurableScenarioDecider.SpecificScenarioDecider localVm, java.util.function.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 Detail
-
createDefaultScenarioDecider
public static ConfigurableScenarioDecider 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
public ConfigurableScenarioDecider setDefaultScenario(java.util.function.Supplier<MatsScenario> defaultScenario)
-
decision
public MatsScenario decision(org.springframework.core.env.Environment env)
- Specified by:
decisionin interfaceScenarioConnectionFactoryWrapper.ScenarioDecider
-
-