seata1.5.0源码中seata-server的console模块的GlobalLockController类只提供了query
时间: 2024-02-09 11:08:52 浏览: 137
非常抱歉,我的回答有误。在Seata1.5.0版本的源码中,GlobalLockController只提供了一个名为query的操作。该操作用于查询全局锁的信息,包括锁的状态、持有者、等待者列表等。具体实现可以参考如下代码:
```java
@RequestMapping("/globalLock")
@RestController
public class GlobalLockController {
private static final Logger LOGGER = LoggerFactory.getLogger(GlobalLockController.class);
@Autowired
private GlobalLockConfig globalLockConfig;
@Autowired
private GlobalLockManager globalLockManager;
/**
* query global lock info
*
* @return
*/
@GetMapping("/query")
public Object query() {
Map<String, Object> result = new HashMap<>();
result.put("enabled", globalLockConfig.isEnabled());
result.put("lockFlag", globalLockManager.getGlobalLockFlag());
result.put("lockHolder", globalLockManager.getGlobalLockHolder());
result.put("waitCount", globalLockManager.getGlobalLockWaitersCount());
result.put("waiters", globalLockManager.getGlobalLockWaiters());
result.put("lastAcquireTime", globalLockManager.getLastGlobalLockAcquireTime());
result.put("lastReleaseTime", globalLockManager.getLastGlobalLockReleaseTime());
return result;
}
}
```
需要注意的是,Seata1.5.0版本相对于之前的版本取消了开启和关闭全局锁的操作。如果需要控制全局锁的开关,可以通过修改配置文件的方式实现。
阅读全文