【问题标题】:Getting this error org.mule.runtime.api.store.ObjectAlreadyExistsException: Object already exists for the key收到此错误 org.mule.runtime.api.store.ObjectAlreadyExistsException: Object already exists for the key
【发布时间】:2021-05-29 13:55:15
【问题描述】:

我在 cloudhub 上收到此错误“org.mule.runtime.api.store.ObjectAlreadyExistsException: Object already exists for the key”。

我在我的应用程序中使用对象存储。我在哪里检查该值是否在对象存储中可用,然后仅在它不可用时才存储它。我已将“如果存在则失败”选项设置为 false,仍然看到此错误。

如何解决?

我观察到只有当我在 cloudhub 中使用两个工作人员时才会出现此问题。

提前致谢。

编辑: 使用对象存储连接器和 mule 4.3。 如果值存在,我正在使用包含检查对象存储。如果确实如此,则检索该值,否则将其存储到操作系统。

错误

编辑2: Cloudhub 中的 ObjectStore:

【问题讨论】:

  • 您使用的是 ObjectStore v2 吗?骡子是什么版本?请添加流程中的操作和完整的错误消息。
  • @aled 更新了详情

标签: mule4 cloudhub


【解决方案1】:

错误消息表明应用程序正在使用默认的持久对象存储。要与多个工作人员共享,您应该改用内存中的_defaultUserObjectStore。详情在:https://docs.mulesoft.com/object-store/osv2-faq#how-are-object-store-entries-divided-among-workers

【讨论】:

    【解决方案2】:

    你可以试试这个方法!

    使用检索连接器并将其包装在 Try 块中。并定义它自己的错误处理策略,在 On Error Continue 块中使用 store 连接器。它会做的是,首先它会尝试检索存储在对象存储中的值。如果存在键,则将获取相应的值。如果密钥不存在,则会发生错误,该错误将由错误处理程序处理并将密钥存储到对象存储中。

    【讨论】:

      猜你喜欢
      • 2021-03-28
      • 2022-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多