Я работаю над приложением, которое использует сервлеты для получения и установки данных для JSP, используемых конечными пользователями. Все данные обрабатываются сервлетами в состоянии сеанса перед записью в базу данных или после извлечения из базы данных.
Но некоторые из этих операций с базами данных довольно продолжительны, когда происходит много операций ввода-вывода, связанных с динамическим созданием таблиц или вставкой данных, извлечением данных из таблиц и т. Д. Для этого процесса также требуются различные сторонние продукты, такие как Weka. и Lucene; таким образом, существует значительная загрузка процессора. Я ожидаю, что некоторые из них могут занять до минуты или двух и заблокировать сеансы в это время.
Сервлеты обычно вызывают статические методы в классах для этих операций, которые затем возвращают необходимые типы данных. Так что это мой вопрос; это разумно или было бы лучше реализовать эти операции в виде потоков Java, вызываемых непосредственно из сервлетов, или мне нужен диспетчер потоков? Я нить новичка.
Пример кода для вышеперечисленного в сервлете выглядит примерно так:
// Create Data_Miner.
Data_Miner dm = Data_Miner_ReaderWriter.write(activeUser.getUser(), rssfodm);
// Create output.
if (rssfodm.getDataMinerOutputType() == Data_Miner_Output_Type.DECISION_TREE) {
Decision_Tree dt = Decision_Tree_ReaderWriter.write(dm);
Оба вызова методов относятся к статическим методам в классах, содержащих методы для чтения / записи соответствующих объектов.
Спасибо
Мистер Морган.