Я использую прерыватель 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] и для очисткиобработчик, я хочу назвать это как-нибудь еще.