public class JejakThreadLocal {
    static ThreadLocal<String> konteks = new ThreadLocal<>();

    public static void main(String[] args) {
        prosesPermintaan();
        // variabel lokal sudah mati, tetapi nilai ThreadLocal masih menempel
        System.out.println("setelah method selesai (tanpa remove) : " + konteks.get());

        konteks.remove();
        System.out.println("setelah remove()                      : " + konteks.get());
    }

    static void prosesPermintaan() {
        konteks.set("permintaan-42");
        System.out.println("di dalam method                       : " + konteks.get());
    }
}
