NoSuchProcessDefinitionException:没有名称为" order-process(Version ......")的流程定义

2020-09-27 04:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我提交订单时遇到以下错误。 它偶尔会在远程服务器上发生,并且无法在我的本地服务器上复制,有人可以帮我弄清楚吗? 预先谢谢你!

de.hybris.platform.servicelayer.exceptions.SystemException:de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException:没有名称为'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'的进程定义。 在de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(在de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1128)处在de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1128)在 .task.impl.DefaultTaskService.process(DefaultTaskService.java:1027)在de.hybris.platform.task.impl.DefaultTaskService.processInTenant(DefaultTaskService.java:987)在de.hybris.platform.task.impl.DefaultTaskService $ 3。 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)处运行(DefaultTaskService.java:892) .run(Thread.java:791)原因:de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException:没有名称为'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'的进程定义。 在de.hybris.platform.processengine.definition.DefaultProcessDefinitionFactory.getProcessDefinition(DefaultProcessDefinitionFactory.java:56)在de.hybris.platform.processengine.process.ProcessengineTaskRunner.getProcessDefinition(ProcessengineTaskRunner.java:300)在de.hybris.platform.processengine .process.ProcessengineTaskRunner.processRunError(ProcessengineTaskRunner.java:250)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.doRun(ProcessengineTaskRunner.java:146)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner .java:98)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:1)位于de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(ProcessengineTaskExecutionStrategy.java:33)。 ..另外7个

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我提交订单时遇到以下错误。 它偶尔会在远程服务器上发生,并且无法在我的本地服务器上复制,有人可以帮我弄清楚吗? 预先谢谢你!

de.hybris.platform.servicelayer.exceptions.SystemException:de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException:没有名称为'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'的进程定义。 在de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(在de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1128)处在de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1128)在 .task.impl.DefaultTaskService.process(DefaultTaskService.java:1027)在de.hybris.platform.task.impl.DefaultTaskService.processInTenant(DefaultTaskService.java:987)在de.hybris.platform.task.impl.DefaultTaskService $ 3。 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)处运行(DefaultTaskService.java:892) .run(Thread.java:791)原因:de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException:没有名称为'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'的进程定义。 在de.hybris.platform.processengine.definition.DefaultProcessDefinitionFactory.getProcessDefinition(DefaultProcessDefinitionFactory.java:56)在de.hybris.platform.processengine.process.ProcessengineTaskRunner.getProcessDefinition(ProcessengineTaskRunner.java:300)在de.hybris.platform.processengine .process.ProcessengineTaskRunner.processRunError(ProcessengineTaskRunner.java:250)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.doRun(ProcessengineTaskRunner.java:146)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner .java:98)位于de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:1)位于de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(ProcessengineTaskExecutionStrategy.java:33)。 ..另外7个

付费偷看设置
发送
12条回答
shere_lin
1楼 · 2020-09-27 04:35.采纳回答

你好,

可以通过hMC创建新的动态过程定义。

值得注意的是,如果通过停止hybris服务器直接在order-process.xml文件中进行更改,并且仍然有一些使用私有订单流程定义的订单流程不完整,则无法使用hybris 找到流程定义版本,并因此引发NoSuchProcessDefinitionException。

但是,如果为已经在运行的进程创建/更新了动态进程定义(通过hMC),则将使用该进程定义的历史版本,直到该进程完成为止。 当该过程再次开始时,将使用新的定义。

您可以在hMC中运行时动态修改流程定义,而不必重新启动服务器。 (请找到所附的屏幕截图)

1)以admin身份登录hMC。 转到脚本>动态流程定义

2)然后尝试找出您选择的过程定义是否已在hMC中定义

3)在"结果"部分中选择过程并打开以进行编辑

4)如果"结果"未显示任何条目,则需要创建动态流程定义。

a)转到新建> DynamicProcessDefinition

b)在"创建"部分中,将流程定义(process.xml文件)粘贴到"内容"字段中。

c)单击创建按钮,然后保存。

替代文本

奄奄一息的小鱼
2楼-- · 2020-09-27 04:36

您可以为以下提供解决方案吗? 这个 ?

吹牛啤
3楼-- · 2020-09-27 04:44

使用动态流程定义对我不起作用。

因此,在修改流程定义(order-process.xml)之后,您可以使用新定义更新先前运行的流程:

  1. 登录到hmc

  2. 转到系统/业务流程

  3. 搜索正在运行的进程

  4. 编辑进程(错误为"名称未知的进程定义..."

  5. 在"管理"选项卡中,通过新版本修改属性" Version of definition"。 (您可以通过开始新的过程来获取新的版本ID)

您可以轻松地为所有先前运行的进程创建一个脚本来完成此任务。

绿领巾童鞋
4楼-- · 2020-09-27 04:49

您好,我在发送电子邮件进程的电子邮件时遇到了类似的问题,我已经检查了所有路径 正确,你可以指导吗?

Aaron 3364
5楼-- · 2020-09-27 04:32

解决此问题的另一种方法是,一旦您的应用正式投入生产,就永远不要修改order-process.xml。

相反,创建一个新的xml文件" order-process2.xml",然后在其中进行任何更改。 然后:

  1. 确保将name =" order-process2"放入order-process2.xml的根节点

  2. 在您的spring xml中定义第二个bean,名为orderProcessDefinitionResource2。 指向order-process2.xml。

  3. 将商店的getSubmitOrderProcessCode值从" order-process"更改为" order-process2"

现在,当您部署新版本时,它将具有原始的order-process.xml(对于仍在运行的任何现有业务流程),并且所有新订单都将获得order-process2.xml。

宇峰Kouji
6楼-- · 2020-09-27 04:38

嗨劳伦,

您能否详细说明如何获取新版本ID。

预先感谢Manu

微wx笑
7楼-- · 2020-09-27 04:37

-检查命名问题。在调用流程定义时必须使用流程定义name属性-检查spring.xml中流程定义的所有ID是否唯一 否则,所有流程定义都不会加载到缓存

一周热门 更多>