В настоящее время в моем приложении в некоторых случаях мы записываем некоторые тяжелые вещи в файлы журнала.
В основном для ведения журнала мы создаем JSON доступных данных, а затем регистрируемся в файлах журнала. Это бизнес-требование для регистрации данных в формате JSON.
Теперь создание JSON из доступных данных, а затем регистрация в FILE занимает много времени и влияет на время возврата первоначального запроса. Теперь идея состоит в том, чтобы улучшить положение.
Одна из вещей, которые мы обсуждали, заключается в создании пула потоков с использованием
Executors.newSingleThreadExecutor()
в нашем коде, а затем отправляет ему задачу, которая преобразует данные в JSON и последующее ведение журнала.
Является ли это хорошим подходом для этого? Поскольку мы управляем самим пулом потоков, он собирается создать некоторые проблемы?
Буду признателен, если кто-то сможет поделиться лучшими решениями. В некотором смысле использовать Log4j для этого. Я пытался использовать AsyncAppender, но не достиг желаемого результата. Мы используем EJB 3, Jboss 5.0, Log4j, java6.