wangrong
2026-08-30 4c949c0dc9bcae785c281c9d8125295f09810b15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package io.dataease.dds;
 
import java.util.ArrayDeque;
import java.util.Deque;
 
public class DynamicContextHolder {
 
    private static final ThreadLocal<Deque<String>> CONTEXT_HOLDER = new ThreadLocal() {
        @Override
        protected Object initialValue() {
            return new ArrayDeque();
        }
    };
 
 
    public static String peek() {
        return CONTEXT_HOLDER.get().peek();
    }
 
 
    public static void push(String dataSource) {
        CONTEXT_HOLDER.get().push(dataSource);
    }
 
 
    public static void poll() {
        Deque<String> deque = CONTEXT_HOLDER.get();
        deque.poll();
        if (deque.isEmpty()) {
            CONTEXT_HOLDER.remove();
        }
    }
 
}