<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package com.bcxin.backend.domain;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;

@Component
public class SimpleLocalLockComponent {
    private final static Logger logger = LoggerFactory.getLogger(SimpleLocalLockComponent.class);

    private static Set&lt;String&gt; lockSetContainer = new HashSet&lt;&gt;();

    public boolean enter(Class tClass) {
        return lockSetContainer.add(tClass.getName());
    }

    public void exit(Class tClass) {
        lockSetContainer.remove(tClass.getName());
    }

    public boolean enter(String key) {
        if (lockSetContainer.add(key)) {
            if (lockSetContainer.size() &gt; 200) {
                logger.warn("鎬诲叡{}浠诲姟鍦ㄦ墽琛�..锛屽凡缁忚揪鍒版渶澶�10涓檺棰�", lockSetContainer.stream().collect(Collectors.joining(";")));
                return false;
            }
        }

        return true;
    }

    public void exit(String key) {
        lockSetContainer.remove(key);
    }
}
</pre></body></html>