Могу ли я явно назвать мой поток обработчика основного события диспетчера LMAX? - PullRequest
0 голосов
/ 08 октября 2019

Я использую прерыватель LMAX и имею 2 обработчика событий. Первый, который выступает в качестве основного обработчика событий для приложения, а второй - это обработчик очистки для повторной обработки событий. Для основного потока обработчика событий я хочу дать ему явное имя: «MainProcessor»

Я пытался использовать ThreadFactory, чтобы установить префикс имени потока и передать его исполнителю, который затем передается в качестве параметра конструктору Disruptor. ,Но, как и ожидалось, оба обработчика (основной и обработчик очистки) получают префикс «MainProcessor-% d».

ExecutorService executorService = Executors.newCachedThreadPool(new ThreadFactoryBuilder().setNameFormat("MainProcessor-%d").build());

        // Construct the Disruptor
        final Disruptor<Msg> disruptor =
                new Disruptor<>(
                        factory,
                        bufferSize,
                        executorService,
                        ProducerType.SINGLE,
                        new BlockingWaitStrategy()
                );


// Connect the handler
disruptor
                .handleEventsWith( mainEventHandler )
                .then( new ResetEventHandler() );

Я хочу, чтобы в моих журналах имя потока основного обработчика отображалось как [MainProcessor-1] и для очисткиобработчик, я хочу назвать это как-нибудь еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...