Как отследить ошибки, которые произошли при отправке электронного письма в Alfresco Activiti 6? - PullRequest
0 голосов
/ 28 декабря 2018

Мне нужно отправлять электронные письма, и я использую для этого 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);
}

это почти решило мою проблему, но, как я уже писал выше, я хотел бы быть более конкретнымпо ошибке и до сих пор не уловил ошибку в адресах получателей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...