jbpm4.3--mail

一)

   通過使用mail活動節點,流程作者可以指定一個郵件信息的內容,一次發送給多個收件人,每個email信息都是從一個模板產生,當然裏面可以設置一些時變的變量如${person},然後在流程啓動之前將給這個變量賦值,並且放到variables集中,模板可能在流程定義jpdl中,也可以是引用外部模板,如果沒有,則默認使用jbpm-default-cfg.xml<process-engine-context>部分指定的模板,下面針對mail節點說明其各屬性:

元素

個數

描述

from

0-1

發件者列表

to

1

主要收件人列表

cc

0-1

抄送收件人列表

bcc

0-1

密送收件人列表

subject

1

郵件主題

text

0-1

郵件文字內容

html

0-1

郵件的html內容

attachments

0-1

附件可以指定urlclasspath資源或本地文件

 

示例:

<task g="134,311,92,52" name="review" assignee="${owner}">

      <transition g="-47,-17" name="to end" to="end"/>

   </task>

    <mail g="0,0,80,40" name="send rectify note">

       <to addresses="${toEmail}"/>

       <subject>通知${person}</subject>

       <text>一個新通知</text>

       <transition to="end"></transition>

   </mail>

   <end g="131,479,48,48" name="end"/>

Ps:在默認安裝配置下的src目錄下有一個jbpm.mail.properties文件,它是用來指定郵件服務器信息的,如果不想使用本地郵件服務器localhost,想要使用其他郵件服務器,可以使用比如:smtp.163.com,則可以修改mail.smtp.host=smtp.163.com;

 

二)

在任務中支持e-mail

 可以爲分配人提供一個提醒,當一個任務被加入到他們的任務列表,以及在特定的時間間隔進行提醒,每個email信息也是根據模板產生得,模板設置同上。

task元素下提供兩個email提醒子元素:

元素名

個數

描述

Notification

0-1

讓一個任務被分配的時候發送一個提醒消息。 如果沒有引用模板,也沒有提供內部的模板, mail會使用task-notification名字的模板。

reminder

0-1

根據指定的時間間隔發送提醒信息。 如果沒有引用模板,也沒有提供內部模板, mail會使用task-reminder名字的模板。

 

Notification屬性:

屬性

類型

默認值

是否必填

描述

Continue

{sync|async|exclusive}

Sync

可選

指定在發送提醒郵件後, 是不是產生一個異步執行。

 

Reminder屬性:

屬性

類型

默認值

是否必填

描述

duedate

持續時間(純字符串或包含表達式)

 

必填

reminder email發送前的延遲時間。

repeat

 

 

可選

在一個序列reminder email發送後延遲的時間

continue

{sync | async | exclusive}

sync

可選

指定在發送提醒郵件後, 是不是產生一個異步執行。

 

示例:

<task name="review"  assignee="#{order.owner}"

     <notification/>

     <reminder duedate="2 days" repeat="1 day"/>

</task>

 

ps2:郵件發送時,要自己寫一個驗證類extends Authenticator,否則報錯,需要一個額外的jarsubethasmtp-smtp-1.2.jar,由於該類是我們自己添加的,所以我們必須在配置文件中加註一下,找到jbpm-default-cfg.xml

<mail-session>

      <mail-server>

        <session-properties resource="jbpm.mail.properties" />

        <authenticator class="mail.MyAuthenticator" />

      </mail-server>

貼上我的MyAuthenticator類:

 我們也可以自己編輯我們想要的模板,我們可以自己編寫模板,因爲在jbpm-cfg.xml中已經爲我們配置好了jbpm-default-cfg.xml,如果我們不特殊指明,則會使用jbpm源碼中默認的模板。

這是個不錯的功能,在有些時候或許能給我們帶來很大的方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章