Aviarc中没有发现锁定错误工作流程

时间:2012-09-04 06:27:27

标签: xml aviarc

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

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

2 个答案:

答案 0 :(得分:1)

这里实际上有两个错误:

  1. <atomic-commit>期间出现问题。由于某种原因,您的更新不会影响任何行。
  2. 您尚未在workflows / system / locking-error.xml中创建锁定错误处理程序工作流。如果您正在实施乐观锁定,it would pay to create one
  3. 在任何情况下,此错误通常由锁定错误以外的其他内容引起。看看你的创建/更新/删除查询;也许您认为它会更新一行,但查询中存在逻辑错误,它会影响零行。

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

    <atomic-commit optimistic-locking="n">
      <dataset name="foo"/>
    </atomic-commit>
    

答案 1 :(得分:0)

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