fireflow的一点笔记,关于workflowsession

使用非也写的fireflow工作流也有一段时间了。

一直没去深究过为什么WorkflowSession 对象是轻量级的、有状态的,而且是线程不安全的对象,所以不能在多个线程建共享。

今天做项目的时候(其实是写错了),在Action中把值写进了WorkflowSession,结果在map里怎么也获得不到。

查了半天看源代码

public IWorkflowSession getWorkflowSession() {
    return new WorkflowSession(this);
}

原来每次都是new一个对象出来,怪不得在action和map里的 WorkflowSession是两个东西。
而workitem和taskinstance能共享数据则是因为workflowsession作为了他们成员变量被设值了。

看来有时候头昏也有头昏的好处,至少能让人究根问底。

你可能感兴趣的:(工作)