我有一个问题,我正在考虑在这种情况下使用 databaseisolationtype == Serializable,但是在阅读了一堆文章之后,我仍然不相信这是我下面问题的解决方案。
设置:
Weblogic cluster > 2 servers
Simple Java JDBC
Servlets, EJB Session beans 2.0
我有一张表LAN
,我们根据客户提供的输入选择匹配值。
局域网
lan_id | name | some_values | is_available
-------------------------------------
13 | ss | 3234 | yes
12 | sssd| 3234 | yes
14 | sssd| 3234 | yes
15 | ssaa| 3234 | yes
现在在业务逻辑中,我需要从 LAN 中选择一个匹配的行并保存另一个表LAN_Assignment
LAN_Assignment
lan_id | lan_assg_id | some other columns
-------------------------------------------
运行 select 语句时,我从 LAN 表中获取匹配行并将其分配给 lan_assignment 表。
现在如果有来自客户端的 5 个请求(可以是集群中的任何服务器),它们都会选择第一个可用的 LAN 并将其保存到另一个表中。
如何确保客户端的第二个请求没有选择拾取 LAN 的第一个请求?
PS:选择语句和业务逻辑并不像这里解释的那么简单。选择LAN并保存到Lan_assignment等有很多条件,
谢谢你