#grails #spring-webflow
#grails #spring-webflow
Вопрос:
Допустим, у меня есть webflow с N состояниями. Как я могу сохранить состояние пользователя в базе данных, чтобы, если он покинет поток где-то посередине, он мог начать с того места, где остановился, при следующем входе в систему, независимо от того, какую машину он использует, когда он это делает.
Ответ №1:
Общий вопрос, вы, по сути, имеете дело с длинной транзакцией. Как правило, это действительно сложная проблема, поскольку вам приходится иметь дело с проблемами параллелизма. Однако, если вы хотите это сделать, вам, вероятно, понадобятся объекты домена, соответствующие задействованным объектам
class ShoppingCart
{
static belongsTo = [ person : Person ]
static hasMany = [ item : ShoppingCartItem ]
static hasOne = [state : ShoppingCartState ]
}
Вы можете использовать шаблон состояния для инкапсуляции состояния и сохранения его в БД в конце каждого перехода веб-потока.
Если ваш вариант использования проще, вы можете что-то сделать с ведением журнала аудита.