1

有人可以告诉我以下错误的原因。谢谢。

HTTP ERROR: 500
An error has occurred     : CommandException: No locking-error workflow found: tried 'system/locking-error' and 'locking-error'
caused by                 : NoSuchWorkflowException: Unable to retrieve workflow 'system/locking-error': No workflow called "system/locking-error"

Source context:
Application    : crm-test
Workflow    : settings
Element        : atomic-commit
URI            :
Line           : 6
Column        : -1
Path        : /workflow[1]/atomic-commit[1]
  settings.xml : line 1 : <workflow>
  main-page.xml : line 2 : <show-screen>
  main-page.xml : line 1 : <workflow>
  start.xml : line 3 : <call-workflow>
  start.xml : line 1 : <workflow>

Request context:
Request URI: /aviarc/crm-test/22A91EF8DA66B0544BE7F58B3FC011F7
4

2 回答 2

1

这里实际上有两个错误:

  1. 期间出现问题<atomic-commit>由于某种原因,您的更新没有影响任何行。
  2. 您尚未在 workflows/system/locking-error.xml 中创建锁定错误处理程序工作流。如果您正在实现乐观锁定,那么创建一个.

在任何情况下,此错误通常是由锁定错误以外的其他原因引起的。查看您的创建/更新/删除查询;也许您认为它会更新一行,但您的查询中存在逻辑错误并且它影响零行。

如果您不打算使用乐观锁定,则可以为特定提交禁用它,如下所示:

<atomic-commit optimistic-locking="n">
  <dataset name="foo"/>
</atomic-commit>
于 2012-09-04T06:48:10.130 回答
0

默认情况下,atomic-commit 假定所有提交都将使用乐观锁定进行,如果数据库告诉它提交查询没有影响任何行,它会假定锁定失败并尝试调用系统工作流“locking-error” '。

于 2012-09-04T06:38:31.607 回答