Как я могу ускорить почтовые запросы HTTP?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу ускорить почтовые запросы HTTP?

Сообщение Anonymous »

Я создаю REST API для расписаний занятий в колледже, и вставка данных в базу данных занимает вечность. Моя программа работает, загружая расписание в формате PDF с веб-сайта моего университета, удаляя его текст и распечатывая его в текстовый файл, а затем анализируя текстовый файл на предмет подробностей курса. Все полностью функционально, но неэффективно.
После того, как детали курса найдены, объект Course создается из класса модели rest и сохраняется в списке.

Код: Выделить всё

public class Parser {
private static List courses;

public static void parse(File file) {
[collecting data...]

Course course = new Course(crn, subject, number, title, department, hours, instructor, size, seats, semester, term);
courses.add(course);
}

public static List getCourses() {
return courses;
}
}
После того как все курсы найдены, вызывается этот метод для помещения их в базу данных. Загрузка 15 000 курсов занимает около 3 минут.

Код: Выделить всё

/** Constructs a JSON request body and posts course data to the server. */
public static void saveCourses(List courses) throws URISyntaxException, IOException, InterruptedException {
for (int i = 0; i < courses.size(); i++) {
Gson gson = new Gson();
String json = gson.toJson(courses.get(i));
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(new URI("http://localhost:8080/course/save"))
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(json))
.build();
httpClient.send(httpRequest, BodyHandlers.ofString());
}
}
Я не уверен, что это вызов toJson() или сам запрос, который занимает так много времени, но что я могу сделать, чтобы моя программа работала быстрее?

Подробнее здесь: https://stackoverflow.com/questions/787 ... t-requests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»