问题标签 [optimistic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
28466 浏览

mysql - MySQL中的乐观锁

我在 MySQL 中找不到任何有关乐观锁定的详细信息。我读到启动事务会使两个实体的更新保持同步,但是 - 它不会阻止两个用户同时更新数据,从而导致冲突。

显然乐观锁定会解决这个问题吗?这在 MySQL 中是如何应用的。是否有用于此的 SQL 语法/关键字?还是 MySQL 有默认行为?

多谢你们。

0 投票
2 回答
2471 浏览

apache-zookeeper - ZooKeeper 可以在一次操作中获取 znode 数据和 znode 数据版本(stat)吗?

我正在开发一个使用 ZooKeeper 作为数据存储的应用程序。对于应用程序中的一种方法,我需要使用乐观并发控制。例如,我需要实现一个获取 znode 数据的 get 方法,并且我使用 znode 数据版本进行乐观并发控制检查。据我了解,一次操作无法获取 znode 数据和 znode 数据版本。如果更新 znode 数据的竞争激烈,get 方法将不起作用,因为在获取 znode 数据后 znode 数据可能会发生变化。所以我在问 -有没有一种方法可以在一次操作中获得 znode 数据和 znode 数据版本(或 znode stat),而在两者之间没有任何锁定尝试?

0 投票
1 回答
1551 浏览

exception - jboss javax.persistence.OptimisticLockException

我正在使用 jboss 版本 5.1.0.GA 并在其上运行 gss 服务(https://code.google.com/p/gss/)。我遇到了 javax.persistence OptimisticLockException 的问题。堆栈跟踪如下:

所有项目源代码都可以在这里找到:https ://code.google.com/p/gss/source/browse/

你能指点我一些方向并帮助解决这个问题吗?

0 投票
0 回答
4993 浏览

mysql - MYSQL 中的 MD5 和 SHA 哈希函数

我已经使用 MD5 和 SHA-1 在 mysql 数据库中实现了乐观,一切正常。我的问题是我不知道这是否是最好的解决方案,因为我不知道 mysql 需要多少时间来计算每个哈希。这是方法

此方法使您有可能不接触您的数据库或对其进行更改。但正如我所提到的,我需要了解有关此方法性能的更多详细信息。

0 投票
1 回答
1715 浏览

java - 关闭组件内字段的乐观锁

我正在尝试关闭组件中特定字段的乐观锁定。在组件级别关闭(适用于组件中的所有字段)有效。但不适用于组件中的特定字段。我正在使用休眠 3.2.x

让我解释一下这个问题

成员.hbm.xml

我被限制在类级别使用optimistic-lock="dirty",所以我不能切换到“版本”。但是,希望通过休眠对组件内的 changeXML 字段禁用乐观检查。

所以我改变了

因为这是在组件中,所以由于某种原因不遵守此设置。因此,hibernate 在提交对 changeXML 的更新之前会在内部生成验证查询。

即更新 MEMBER SET CHANGE_XML ="NEWVALUE" WHERE ID=SOMETHING AND CHANGE_XML=OLDVALUE

但是在组件级别发生变化,即从

通过尊重此设置来工作,并且休眠不会生成更新语句

我们无法解决在组件级别更改的选项,因为对“状态”的并发更新是预期的,并且不会因 staleobjectstateexception 而失败。

有没有办法告诉hibernate尊重组件中的optimistic-lock="false"设置?

感谢您花时间阅读..

0 投票
1 回答
711 浏览

exception - 处理 MessagingEntityNotFoundException 是否更好,或者我应该在发送消息之前检查主题是否存在

在 Microsoft ServiceBus 文档中的代码示例中,以下代码用于确保主题存在。

但是我想知道TopicExists如果我在发送消息之前输入此代码,调用将有多贵。(假设我不想单独有初始化代码)

另一种方法是保持乐观并在不检查主题存在和处理的情况下发送消息MessagingEntityNotFoundException。如果出现异常,我们可以创建主题并重试发送消息。

第二种方法对我来说似乎更好,但我找不到任何支持它的参考资料。所以我想知道,微软在他们的文档和示例中选择第一种方法而不是处理异常是否有特殊原因。

0 投票
4 回答
216 浏览

mysql - 乐观锁定用户信用管理

我有一个中央数据库,用于处理多个服务器读取和写入的用户信用。应用程序位于这些服务器之上,通过对每个请求执行以下操作来服务用户请求:

应用程序使用数据库的乐观锁定。所以可能会发生以下情况

使用悲观锁定,应用程序将需要显式地获取用户帐户的锁定以保证独占访问,但这会降低性能,因为系统有许多并发请求。
那么这个信用系统有什么好的新设计呢?

0 投票
1 回答
39 浏览

meteor - Meteor 如何处理依赖失败的乐观操作?

Meteor 的乐观 UI 如何处理依赖操作的服务器拒绝和错误?

如果我做 :

如果op1在服务器端失败但在客户端成功,会发生op2什么op3
他们都会被回滚吗?

0 投票
3 回答
850 浏览

locking - play 2.4 ebean更新乐观锁

我正在尝试使用带有 ebeans 的 play 2.4 来实现类似于计算机数据库示例的 crud。一切正常,除了更新。当我针对相同的 MariaDB 和较旧的 ebeans (3.2.2) 运行计算机数据库示例时,它确实更新得很好,因此数据库似乎没有问题。尽管在使用 ebeans 时发现 Maria JDBC 驱动程序存在错误,但我正在使用 MySQL 连接器。

这段代码:

给出此错误:[OptimisticLockException:数据已更改。更新 [0] 行 sql[更新用户集别名 =?,电子邮件 =?,密码 =?,活动 =?,last_update =?,user_type_id =?其中 id=?] 绑定 [null]]

实体定义如下

@Entity 公共类用户扩展模型 {

首先,版本没有按预期放置在 where 子句中。此外,还会引发乐观锁定错误。

我正在连接到 MySQL。所有其他操作,保存,删除等都可以正常工作。这又破了?

插件看起来像

build.sbt 是

任何帮助,将不胜感激。我很想像以前那样使用 ebean 的绑定表单更新。非常感谢

0 投票
1 回答
65 浏览

javascript - 在 Web 应用程序中乐观地添加列表项的模式是什么?

我们正在创建一个 React 应用程序,它在多个位置具有基本 CRUD 操作的列表。基本的例子当然是:

  • 填写输入以获取项目名称,单击提交
  • 向服务器发送请求
  • 成功时触发回调
  • 使用响应数据更新项目列表

我希望这个操作是完全乐观的:

  • 填写输入以获取项目名称,单击提交
  • 使用给定名称使用项目更新列表
  • 向服务器发送请求
  • 成功时触发回调
  • 使用响应数据更新列表中的项目

因此,在第一个示例中,我们将简单地从响应中创建一个项目并更新应用程序状态。在第二个示例中,我们制作项目,当响应返回时,我们需要找到正确的项目。

这些项目从服务器返回时具有 id。如果 item 有一个 id,那么更新当然非常简单。第二个示例的问题是,我们不知道项目的后端 ID。

我通过提供前端 id 亲自解决了这个问题,该 id 仅用于在回调中引用正确的元素。我和我的同事不太喜欢这种方法,因为它有点……凌乱。

处理这种情况的合适、有效的模式是什么?