电子邮件业务流程中未找到媒体异常 (Hybris)

Media not found Exception In Email Business Process (Hybris)

我已经创建了一个流程,可以在确认订单时向用户发送电子邮件。 问题是在 DEV 环境中一切顺利,但是当我部署到 UAT 服务器时 我在任务执行期间遇到异常(“找不到媒体(请求的媒体位置:hf0/h27/8861015965726.bin)”)。 任何想法可能会发生什么? 如何解决这个问题以及导致这个问题的原因。

hybris 使用 Velocity 模板创建电子邮件。这些 Velocity 模板作为媒体存储在 hybris 服务器上。 hybris Medias 由两部分组成:数据库中相应 table 中的条目和硬盘驱动器上的文件。数据库条目存储有关该媒体的元数据,而文件存储实际内容。

现在 hybris 告诉你的是,硬盘上的文件丢失了。数据库条目指向一个不存在的文件。该文件丢失的原因可能有很多:

  • 它在部署过程中被删除了。
  • 它不是在部署期间创建的。
  • hybris 服务器对该目录没有 access/access 权限。
  • 在集群环境中,文件可能已存储在另一个节点上,无法在当前节点上访问。

如 Johannes 所述,媒体可以是电子邮件本身,但也可以是电子邮件的一部分,例如来自 CMS cockpit 的图像集。

要解决此问题,您必须掌握您的 impex 流程。

首先确保 impex 包含正确创建电子邮件所需的所有数据。

然后知道在部署和更新系统时导入了什么。

确保在初始化期间导入了必需的文件。

请确保网站管理员可以管理的数据在更新期间不会被 impex 重置。

如果由于初始化已经完成而在更新期间创建了数据,请确保不会在每次更新后播放该数据。

由于没有找到媒体文件,您可以
1. 转到 hmc-->多媒体-->媒体,在搜索面板中,
2.点击"search additional attributes"下拉框,select"PK of file"
3.使用“8861015965726”作为文件PK进行搜索

然后你可以找出丢失了什么文件,你可以导入 impex 或使用 hmc 上传来解决这个问题。