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 interface
An implementation of this interface can decide whether a specific Mats Scenario is active.static class
Standard implementation ofConfigurableScenarioDecider.SpecificScenarioDecider
used 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.SpecificScenarioDecider
and default MatsScenario by setters.ConfigurableScenarioDecider
(ConfigurableScenarioDecider.SpecificScenarioDecider regular, ConfigurableScenarioDecider.SpecificScenarioDecider localhost, ConfigurableScenarioDecider.SpecificScenarioDecider localVm, Supplier<MatsScenario> defaultScenario) Takes aConfigurableScenarioDecider.SpecificScenarioDecider
for each of theMatsScenario
s, 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 ConfigurableScenarioDecider
Configures aScenarioConnectionFactoryWrapper.ScenarioDecider
that implements the logic described inScenarioConnectionFactoryProducer
and 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.SpecificScenarioDecider
for each of theMatsScenario
s, 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.ScenarioDecider
fromcreateDefaultScenarioDecider()
does). -
ConfigurableScenarioDecider
public ConfigurableScenarioDecider()No-args constructor - must set all theConfigurableScenarioDecider.SpecificScenarioDecider
and default MatsScenario by setters.
-
-
Method Details
-
createDefaultScenarioDecider
Configures aScenarioConnectionFactoryWrapper.ScenarioDecider
that implements the logic described inScenarioConnectionFactoryProducer
and 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:
decision
in interfaceScenarioConnectionFactoryWrapper.ScenarioDecider
-