Я использую log4j2 для хранения информации о пользователе. Я также копирую эту информацию из ThreadContext в потоки в пуле потоков executorService, прежде чем запустить задание в потоке, чтобы они имели одинаковый контекст и информацию о пользователе.

Вопросы: 1. Правильно ли использовать ThreadContext для хранения и обмена информацией о пользователях? 2. Есть ли какие-либо проблемы в обмене этой информацией с потоками executorService?

// mdc is set in the Runnable class before submitting the job to threadPool
Map mdc = ThreadContext.getContext(); 

//Run method of the Runnable class 
    @Override
    public void run() {
        Map mdc = ThreadContext.getContext();
        ThreadContext.putAll(mdc);
        try{
            // Perform operations
        } finally {
            ThreadContext.clearMap();
        }
    }

0
amit9921