最近,我一直在更新我的免费在线研讨会 ,特别是基于JBoss BPM Suite的系列研讨会 ,以便您可以开始使用较新的Red Hat Process Automation Manager 。
在本文中,我将分享我在自动化项目中尝试使用电子邮件通知时偶然发现的内容。
我在更新该项目时发现,电子邮件服务任务(一种应允许您从流程发送电子邮件的任务类型)并未预先配置。 不仅如此,我无法在线找到Red Hat Process Automation Manager的解决方案。
让我们来解决这个问题,并看看使电子邮件在流程中流动需要什么?
配置电子邮件任务
许多年前,我发表了一些有关自动执行电子邮件用户任务的文章。 其中包括需要调整底层JBoss Enterprise Application Server邮件配置的详细信息,但是在当前版本7.2中,我们正在使用此功能,它可以立即为您的本地计算机工作。
<outbound-socket-binding name= "mail-smtp" > <remote-destination host= "localhost" port= "25" ></remote-destination> </outbound-socket-binding>
如您所见,本地主机端口25将用于绑定我们的Red Hat Process Automation Manager生成的所有电子邮件活动,因此我们需要做的就是配置当前项目以正确处理电子邮件任务。
在我们的项目中,使用电子邮件之类的服务任务有一些概念。 首先,任何服务任务都需要定义一个工作项处理程序(WIH)来处理任务。 在我们的案例中,它定义了电子邮件任务以使用产品中包含的WIH,但未为我们的项目预先配置。
第二项是您将需要一些内容来监听端口25并处理我们的电子邮件任务生成的消息。 通常,您会设置某种SMTP或电子邮件服务器,但这仅用于测试我们的过程。 我们将使用一个简单的java解决方案来捕获这些消息并将它们显示在一个简单的收件箱中。
电子邮件工作项目处理程序
首先,让我们看一下如何配置项目本身以利用特定的处理程序规范。 从图2所示的项目资产视图中,选择设置选项卡。 这提供了所有项目配置选项,我们将从左侧开始选择部署,然后选择工作项处理程序。
从那里我们添加一个新的工作项处理程序,并填写电子邮件处理程序的详细信息,如图3所示。为完整起见,这些详细信息包含在此处,因此您可以将其剪切并粘贴到您的项目中。
名称:
电子邮件
值: 新的org.jbpm.process.workitem.email.EmailWorkItemHandler(“ localhost”,“ 25”,“”,“”,“ true”)
保存这些设置,您现在就可以通过电子邮件任务通过端口25在本地SMTP上发送电子邮件来构建和部署该项目。
最后一个问题是,如何在不设置我们自己的SMTP服务器的情况下在端口25上捕获这些电子邮件?
捕获电子邮件
在红帽流程自动化管理器安装演示项目 (在在线研讨会中使用)中,您会在支持目录中找到一个名为fakeSMTP的Java帮助程序。
该项目提供了一个可以运行的简单Java应用程序,如图4所示,一旦启动,它将提供SMTP服务器和收件箱捕获。 在执行如本文所示配置的任何过程之前,请运行此命令,然后在此应用程序中发送,处理和捕获您的电子邮件。
有关外观的更多详细信息,您可以查看免费的在线工作坊实验7 ,该实验将逐步为您详细介绍。
快乐的自动化集成!
翻译自: https://www.javacodegeeks.com/2019/03/email-service-task-red-hat-manager.html