说我有一个包含N个州的网络流。如何将用户的状态保存到数据库中,这样如果他将流程留在中间的某个位置,他就可以从他离开的地方开始,下次登录系统时,无论他使用什么机器,都可以。
答案 0 :(得分:0)
一般问题,你基本上是在处理long transaction。 这通常是一个非常难的问题,因为您必须处理并发问题。但是,如果您想这样做,您可能必须拥有与所涉及的实体相对应的Domain对象
class ShoppingCart
{
static belongsTo = [ person : Person ]
static hasMany = [ item : ShoppingCartItem ]
static hasOne = [state : ShoppingCartState ]
}
您可以使用State pattern封装状态,并在每个web flow transition.
结尾处将其保存到数据库中如果您的用例更简单,您可以使用Audit Logging执行某些操作。