Parfois, il est plus commode d`utiliser l`ID de machine qui est quelque chose que l`utilisateur peut définir pour mieux identifier plusieurs instances. Cet ID mappe à la méthode getId () dans une interface StateMachine. Spring StateMachine 2,0 se concentre sur le support Spring boot 2. x. Certains d`entre nous ont un clavier pleine grandeur avec des touches principales sur un côté gauche et des touches numériques sur un côté droit. Vous avez probablement remarqué que les deux côtés ont vraiment leur propre État que vous voyez si vous appuyez sur une touche numérolock qui modifie seulement le comportement de num lui-même. Si vous n`avez pas un clavier pleine grandeur, vous pouvez acheter un pavé numérique USB simple ayant seulement une partie num d`une clé. Si le côté gauche et droit peut exister librement sans l`autre, ils doivent avoir un état totalement différent, ce qui signifie qu`ils opèrent sur des machines à États différentes. Les méthodes config withSecurity, withMonitoring et withPersistence sont documentées dans les sections chapitre 25, sécurité des machines d`État, chapitre 30, surveillance des machines d`État et section 28,4, «utilisation de StateMachineRuntimePersister» respectivement. D`autres parties facultatives comme le chapitre 31, utilisation des États distribués a des dépendances à un Zookeeper, tandis que la partie VI, «State Machine exemples» a des dépendances à Spring-Shell et Spring-Boot qui tire d`autres dépendances au-delà de l`infrastructure elle-même. La sécurité et l`accès aux données facultatifs ont également des dépendances avec Spring Security et Spring Data modules.
Cette section contient la documentation relative à l`utilisation des «référentiels de données de printemps» utilisés dans State Machine. StateMachineModelVerifier est une interface qui est utilisée en interne pour effectuer des vérifications de la santé de la structure d`une machine d`État. Son but est d`échouer rapidement au lieu de laisser des erreurs de configuration communes dans une machine d`État elle-même. Le vérificateur par défaut est activé automatiquement et l`implémentation DefaultStateMachineModelVerifier est utilisée. Les machines d`État sont utilisées le plus souvent pour modéliser le comportement d`un objet au cours de sa durée de vie. Ils sont particulièrement nécessaires lorsque les objets ont un comportement dépendant de l`État. Les objets qui peuvent avoir des machines d`État incluent des classes, des sous-systèmes, des cas d`utilisation et des interfaces (pour affirmer les États qui doivent être satisfaits par un objet qui réalise l`interface). Maintenant que vous avez utilisé @EnableStateMachineFactory pour créer une usine au lieu d`un haricot de machine d`État, il peut être injecté et utilisé comme est de demander de nouvelles machines d`État. Chapitre 33, Eclipse Modeling prend en charge le support de modélisation UML de machine d`État.
Spring StateMachine peut être utilisé comme un microservice pour alimenter des événements avec des millions d`instances de machine d`État différentes. Spring StateMachine 1,1 se concentre sur la sécurité et une meilleure interopérabilité avec les applications Web. Une décision de conception d`une machine à États distribuées n`était pas de rendre conscient de l`instance de State Machine individuelle qu`elle fait partie d`un ensemble distribué. Étant donné que les fonctions principales et les fonctionnalités d`un StateMachine sont accessibles via son interface, il est logique d`encapsuler cette instance à l`aide d`un DistributedStateMachine, qui intercepte simplement toutes les communications de l`ordinateur d`État et collabore avec un ensemble pour orchestrent les modifications d`État distribuées.