Guidewire PolicyCenter您尝试更新的对象已被其他用户更改.请再试一次



我有这个错误"您正在尝试更新的对象已被其他用户更改。请再试一次。我想知道没有上下文的原因是什么。没有关于它的日志,没有异常堆栈跟踪,文档中没有关于这个错误的信息。我相信这与bundle有关,但我现在想知道确切的原因

GW抛出几个相关的异常,例如ConcurrentDataChangeException, DBVersionConflictException,具体取决于实体类型。当一个bean被两个或多个事务(bundle)并发修改时,就会发生这种情况。

这个错误通常是因为在一个bundle上有两个事务更改试图提交,而前一个bundle还没有提交。让我们用一个例子来理解—有一个用户做了一个策略更改来添加任何联系人或任何其他业务操作。与此同时,另一个用户在他的GW PC UI中打开相同的事务,并试图在这个GW系统上做一些业务操作,在UI上抛出这个错误,因为前面的bundle仍然没有提交。错误跟踪引导您到一些OOTB java类,我认为您可以从PC UI服务器日志的PCLogs中获得它。希望这能让你明白。

实际上发生这种情况是因为您的对象在从DB读取DB并试图将其写回DB时被数据库上的其他人更新了。

GW通过利用数据库对象的版本检查来实现这一点。

异常消息实际上告诉您谁以及何时进行了冲突更新。没有堆栈跟踪可以指向其他更新的原因。

根本原因可能有几个-从集群环境中的分布式缓存不同步到实际上有其他方在与您相同的实体上工作。

最新更新