我创建了邮件任务配置
<serviceTask id="mailtask_name" name="Name" flowable:delegateExpression="${STCustomMail}" flowable:type="mail" >
<extensionElements>
<flowable:field name="to">
<flowable:string><![CDATA[mail@mail.com]]></flowable:string>
</flowable:field>
<flowable:field name="subject">
<flowable:string><![CDATA[Subject]]></flowable:string>
</flowable:field>
<flowable:field name="text">
<flowable:string><![CDATA[Text]]></flowable:string>
</flowable:field>
</extensionElements>
</serviceTask>和class:
@Log
@Service
public class STCustomMail implements JavaDelegate {
private Expression subject;
private Expression to;
private Expression text;
public void execute(DelegateExecution execution) {
log.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
String subjectText = "New subject";
execution.setVariable(subject.getValue(execution).toString(), subjectText);
execution.setVariable(to.getValue(execution).toString(), "newmail@newmail.com");
execution.setVariable(text.getValue(execution).toString(), "newtext");
}
}不幸的是,我的STCustomMail类无法工作。我不能修改任何邮件数据。
怎么啦?
也许还有另一种解决方案,如何动态配置/创建(?)邮件数据位置?
发布于 2019-04-14 15:32:59
flowable:delegateExpression和flowable:type不能混合在一起。
默认情况下,当flowable:type为mail时,Flowable将使用MailActivityBehavior发送电子邮件。这意味着您的JavaDelegate永远不会被调用。
如果你想改变邮件活动的行为,你需要提供你自己的实现。为此,您需要提供自己的ActivityBehaviorFactory (您可以扩展DefaultActivityBehaviorFactory)并覆盖以下方法:
MailActivityBehavior createMailActivityBehavior(ServiceTask serviceTask)MailActivityBehavior createMailActivityBehavior(SendTask sendTask)https://stackoverflow.com/questions/55450485
复制相似问题