自定义的AssignmentHandler中无法获取jpdl中配置的field值

peng_joy 2013-02-25

遇到个棘手的问题,不知道为什么。觉得不应该这样。 使用的是jbpm4.4和spring集成。在自定义的handler中获取到field的值为null,请大家帮助看一下。

    jpdl如下:

<task g="169,21,92,52" name="发起人修改">
<assignment-handler expr="#{myAssignmentHandler}">
<field name="rebut"><string value="true"/></field>
</assignment-handler>
<transition g="-28,-3" name="提交技术审核" to="技术审核"/>
</task>

 想在流程执行到这一步的时候取到rebut的值,可是一直为null。

java代码:

public class MyAssignmentHandler implements AssignmentHandler {

    @Autowired
    private IBaseDAO baseDao;
    @Autowired
    private IFlowService flowService;
    @Autowired
    private IUserService userService;
    
    String rebut;
	
	public void assign(Assignable assignable, OpenExecution execution) throws Exception {
         
            system.out.println(rebut);
     }
}

 

 

 

peng_joy 2013-02-26
没人知道原因吗????
forevercoding 2013-02-26
get set
peng_joy 2013-02-26
forevercoding 写道
get set
没用
forevercoding 2013-02-28
<assignment-handler class="*.MyAssignmentHandler"> 
forevercoding 2013-02-28
org.jbpm.pvm.internal.task.AssignableDefinitionImpl
forevercoding 2013-02-28
注意下 ExecutionImpl 中的 initializeAssignments 方法
peng_joy 2013-02-28
forevercoding 写道
注意下 ExecutionImpl 中的 initializeAssignments 方法
好奇怪,我看着大家都是那么用的。您能说的再具体点吗?这难道是jbpm的bug?
forevercoding 2013-03-01
你用表达式方式,注入变量值
param.put("myAssignmentHandler", new MyAssignmentHandler ());

peng_joy 2013-03-01
forevercoding 写道
你用表达式方式,注入变量值
param.put("myAssignmentHandler", new MyAssignmentHandler ());


好的,我试一下。多谢!
Global site tag (gtag.js) - Google Analytics