Моя цель: настроить State Machine для сохранения внутренних данных при любых изменениях и восстановления из базы данных, когда мне нужно их использовать.
Реализация< /strong>: Spring Docs
Проблема: он отлично работает при одном запуске (сохранение в БД и восстановление). После перезапуска конечный автомат сбрасывается в исходное состояние (с потерей всех данных) при первом использовании.
Соответствующая конфигурация конечного автомата:Соответствующая конфигурация конечного автомата: р>
@EnableStateMachineFactory
@Configuration
@AllArgsConstructor
public class StateMachineConfig extends StateMachineConfigurerAdapter {
private final StateMachineRuntimePersister stateMachineRuntimePersister;
@Bean
public StateMachineService stateMachineService(
StateMachineFactory stateMachineFactory,
StateMachineRuntimePersister stateMachineRuntimePersister) {
return new DefaultStateMachineService(stateMachineFactory, stateMachineRuntimePersister);
}
@Override
public void configure(StateMachineConfigurationConfigurer config) throws Exception {
config.withConfiguration()
.listener(listener())
.autoStartup(true)
.and()
.withPersistence().runtimePersister(stateMachineRuntimePersister)
;
}
// states, transitions, actions etc. config...
}
@Configuration
public class JpaPersisterConfig {
@Bean
public StateMachineRuntimePersister stateMachineRuntimePersister(
JpaStateMachineRepository jpaStateMachineRepository) {
return new JpaPersistingStateMachineInterceptor(jpaStateMachineRepository);
}
}
Использование:
@Service
@AllArgsConstructor
public class SomeClass{
private StateMachineService stateMachineService;
public void someMethod(String userId) {
StateMachine stateMachine = restoreStateMachine(userId);
// work with stateMachine, sending events
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... m-database
Как справиться со сбросом Spring State Machine после восстановления из базы данных? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
C ++ State Machine, унаследованный класс со значениями элементов с неправильным синтаксисом
Anonymous » » в форуме C++ - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-