Мне нужно отправлять электронные письма, и я использую для этого service task
:
<serviceTask id="SendEmail_1" name="Sending a notification by email" activiti:type="mail">
<documentation></documentation>
<extensionElements>
<activiti:field name="to">
<activiti:expression><![CDATA[${to}]]></activiti:expression>
</activiti:field>
<activiti:field name="subject">
<activiti:expression><![CDATA[${subject}]]></activiti:expression>
</activiti:field>
<activiti:field name="text">
<activiti:expression><![CDATA[${body}]]></activiti:expression>
</activiti:field>
<activiti:field name="ignoreException">
<activiti:string><![CDATA[true]]></activiti:string>
</activiti:field>
<activiti:field name="charset">
<activiti:string><![CDATA[utf8]]></activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>
Мне также нужно отлавливать ошибки, возникающие при отправке почты.В руководстве пользователя я прочитал, что для того, чтобы получить описание ошибки, вам нужно прочитать из переменных процесса значение переменной "exceptionVariableName
".Как вы можете видеть выше, я добавил это к служебной задаче, но пока не видел, чтобы она работала.Я пытался дать ему несуществующие адреса получателей, но ошибки не было.Это вообще работает?Когда это работает?Или есть другой механизм получения описаний ошибок?
PS Я использую Activiti 6.0.0.
PSS Я попытался добавить блок ниже в теге "extensionElements
":
<activiti:field name="exceptionVariableName">
<activiti:string><![CDATA[error]]></activiti:string>
</activiti:field>
И это также не помогло мне (например, если получатели не верны).
PSSS Я указал неправильный хост сервера smtp (при создании bean-компонента конфигурации процесса), и яполучил описание ошибки (код Java для его получения представлен ниже), но оно неинформативно.
public void logEmailSending(DelegateExecution execution) {
Object error = execution.getVariable("error");
if (error != null)
logger.error("An error occurred while sending the email: " + error);
}
это почти решило мою проблему, но, как я уже писал выше, я хотел бы быть более конкретнымпо ошибке и до сих пор не уловил ошибку в адресах получателей