首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Spring Boot和Flowable修改邮件任务数据

如何使用Spring Boot和Flowable修改邮件任务数据
EN

Stack Overflow用户
提问于 2019-04-01 16:03:43
回答 1查看 543关注 0票数 0

我创建了邮件任务配置

代码语言:javascript
复制
<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:

代码语言:javascript
复制
@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类无法工作。我不能修改任何邮件数据。

怎么啦?

也许还有另一种解决方案,如何动态配置/创建(?)邮件数据位置?

EN

回答 1

Stack Overflow用户

发布于 2019-04-14 15:32:59

flowable:delegateExpressionflowable:type不能混合在一起。

默认情况下,当flowable:typemail时,Flowable将使用MailActivityBehavior发送电子邮件。这意味着您的JavaDelegate永远不会被调用。

如果你想改变邮件活动的行为,你需要提供你自己的实现。为此,您需要提供自己的ActivityBehaviorFactory (您可以扩展DefaultActivityBehaviorFactory)并覆盖以下方法:

  • MailActivityBehavior createMailActivityBehavior(ServiceTask serviceTask)
  • MailActivityBehavior createMailActivityBehavior(SendTask sendTask)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55450485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档