微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

得到这个错误 org.mule.runtime.api.store.ObjectAlreadyExistsException: Object already exists for the key

如何解决得到这个错误 org.mule.runtime.api.store.ObjectAlreadyExistsException: Object already exists for the key

我在 cloudhub 上收到此错误“org.mule.runtime.api.store.ObjectAlreadyExistsException:密钥的对象已存在”。

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

如何解决这个问题?

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

提前致谢。

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

错误

enter image description here

编辑2: Cloudhub 中的 ObjectStore:

enter image description here

解决方法

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

,

你可以试试这个方法!

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

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。