Событие исчерпания ресурсов: JVM не удалось выделить память из кучи.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Событие исчерпания ресурсов: JVM не удалось выделить память из кучи.

Сообщение Anonymous »

Я пытаюсь получить более 1 миллиона записей в микросервисах. Я получаю сообщение об ошибке. Мне нужно продолжать увеличивать память приложения для службы, чтобы получать огромный объем данных. Есть ли какой-нибудь метод, который я могу использовать для получения огромных данных вместо увеличения памяти приложения?
2022-10-11T11:22:04.898+08:00 [APP/PROC/WEB/0] [ERR] Событие исчерпания ресурсов: JVM не удалось выделить память из кучи.
2022-10-11T11:22:04.898+08:00 [APP/PROC/WEB/0] [ERR] Ресурс исчерпан! (1/0)


@Value("${batch-size}")
private int batchSize;

public void archiveTableRecords(JdbcTemplate sourceDbTemplate, JdbcTemplate targetDbTemplate,
ArchiveConfigDTO archiveObj) {
try {
String sourceTable = archiveObj.getSourceTable();
String archive_months =archiveObj.getArchiveCriteriaMonths();
List primaryKeyValueList = new ArrayList();
String compareDate1 = getCSTDateNew(archive_months);
logger.info("Archive criteria date: {}", compareDate1);
List sourceRecords = sourceDbTemplate
.queryForList(ArchiveSQLQueries.buildSQLQueryToFetchSourceRecords(sourceTable), compareDate1);
int sourceRecordsSize = sourceRecords.size();
logger.info("Fetched {} {} record(s)", sourceRecords.size(), sourceTable);
if (sourceRecordsSize > 0) {
int recordsInserted = copySourceRecords(targetDbTemplate, archiveObj.getTargetTable(),
archiveObj.getPrimaryKeyColumn(), sourceRecords, primaryKeyValueList);
if (recordsInserted > 0)
deleteSourceRecords(sourceDbTemplate, sourceTable, archiveObj.getPrimaryKeyColumn(),
primaryKeyValueList);
}
} catch (Exception e) {
logger.error("Exception in archiveTableRecords: {} {}", e.getMessage(), e);
}
}

public static String buildSQLQueryToFetchSourceRecords(String sourceTable) {
StringBuilder sb = new StringBuilder("SELECT * FROM " + sourceTable + " where update_dts

Подробнее здесь: https://stackoverflow.com/questions/742 ... m-the-heap
Ответить

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

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

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

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

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