欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

解读Apollo源代码:深入剖析Admin Service中的Namespace Locking机制 - 2.1版 NamespaceLockService详解

最编程 2024-07-28 18:29:16
...

apollo-biz 项目中,com.ctrip.framework.apollo.biz.service.NamespaceLockService ,提供 NamespaceLock 的 Service 逻辑给 Admin Service 和 Config Service 。代码如下:

@Service
public class NamespaceLockService {

    @Autowired
    private NamespaceLockRepository namespaceLockRepository;

    public NamespaceLock findLock(Long namespaceId) {
        return namespaceLockRepository.findByNamespaceId(namespaceId);
    }

    @Transactional
    public NamespaceLock tryLock(NamespaceLock lock) {
        return namespaceLockRepository.save(lock);
    }

    @Transactional
    public void unlock(Long namespaceId) {
        namespaceLockRepository.deleteByNamespaceId(namespaceId);
    }

}