Описание
Существует большая база игроков 200.000
и ниже .ftl model
:
<header> ... <header>
<main>
!Here is the problem
<#list items as vo>
<name> $vo.name} </name>
<surname> ${vo.surname} </surname>
<abilities> ${vo.abilities} </abilites>
</#list>
</main>
<footer> ... </footer>
Так что не так?
Вышеописанное работает хорошо, когда у меня небольшое количество игроков, скажем, 5.000
.
Что я пытаюсь сделать?
Мне нужно создать этот документ сразу для всех игроков, что означает, что я должен передать список с 100.000
или более игроками. Это вызовет Java OutOfMemoryException
.
Так что я каждый раз выбираю 1.000
игроков и создаю список, но проблема в том ... как пройти всех игроков, как раньше? У меня есть одна .ftl
модель и FreeMarker не поддерживает что-то подобное ...
Я хочу, чтобы все 200.000
игроков были в одном документе.
Какую технику я должен использовать :)?
Класс Java выглядит следующим образом:
public FinalXMLVo extends HashMap<String,Object>{
...
private List<Player> players;
public FinalXMLVo(....,List<Player> players){
...
this.put("items",players);
}
...
}