У меня есть многопоточная программа Java 7 (файл jar), которая использует JDBC для выполнения работы (использует фиксированный пул потоков).Java-параллельная запись из нескольких потоков в один текстовый файл?
Программа работает нормально, и она регистрирует все по мере того, как она переходит в окно командной оболочки оболочки (System.out.printf()) из нескольких параллельных потоков.
В дополнение к выходу на консоль мне также необходимо добавить возможность для этой программы записывать в один простой текстовый файл ASCII-файла - из нескольких потоков.
Объем вывода низкий, файл будет относительно небольшим, как файл журнала, а не файл данных.
Можете ли вы предложить хороший и относительно простой дизайн/подход, чтобы сделать это с использованием функций Java 7 (у меня еще нет Java 8)?
Любые образцы кода также будут оценены.
спасибо большое
EDIT:
Я забыл добавить: в Java 7, используя Files.newOutputStream() статический фабричный метод, как утверждается, поточно - согласно официальной документации Java. Является ли это самым простым вариантом для записи одного файла общего текстового журнала из нескольких потоков?
Почему бы не пойти на стандартный API регистрации, например slf4j http://www.slf4j.org/manual.html? –
Или иначе, если вы хотите придерживаться только jdk api, см. Это: http://stackoverflow.com/questions/5950557/good-examples-using-java-util-logging –
забыли добавить: в Java 7 с помощью Files.newOutputStream() статический заводский метод считается потокобезопасным - согласно официальной документации Java. Является ли это лучшим вариантом для записи одного файла общего текстового журнала из нескольких потоков? –