【发布时间】:2014-02-27 05:24:02
【问题描述】:
我有为三个不同实体提供处理服务的流程。因此,我有具有常见流状态的父流定义,在具体流定义中,我使用真实数据和操作实现扩展了该流。
我想将处理实体的bean实例存储在变量中,这样我就可以在父流定义中访问这个变量。
在父流定义中
<action-state id="prepareReview" >
<evaluate expression="processor.prepare(modelInstance)" />
<transition to="check" />
</action-state>
在具体的流程定义中我有
<on-start>
<set name="flowScope.processor" value="concreteProcessor"/>
</on-start>
其中concreteProcessor 是一个实现必要处理的单例bean。它是无状态的,因此序列化它是没有用的,而且它包含自动装配的 dao 变量,其实现使用无法序列化的 HibernateDaoSupport。
有什么办法可以解决这个问题吗?我有一个解决方案,但是不是很方便,因为我需要在具体处理器方法调用的每个具体流定义样板代码中编写。
<action-state id="prepareReview" parent="common#prepareReview">
<evaluate expression="concreteProcessor.prepare(modelInstance)" />
</action-state>
这有点麻烦。
【问题讨论】: