2016-01-21 7 views
0

Я использую ROME & ROME Fetcher для получения кормов (ATOM/RSS) в моем JavaEE веб-приложения.Как ограничить количество загруженных (разобранный) записей (элементов) в РИМ Сборщике

В некоторых случаях я хотел бы ограничить количество загружаемых/проанализированных записей/элементов. Я хочу избежать этого сценария: получить все и десять просто сделать subList().

Любые идеи или кто-либо решил это как-то?

Спасибо.

ответ

0

Я не вижу реальный путь, который вы могли бы загрузить только несколько из них - в конце дня вы посылаете запрос на сервер и решит, что вам отправить.

Для меня это звучит немного как преждевременная оптимизация. В зависимости от того, что вы строите, было бы лучше сделать что-то вроде кэширования данных, если вы беспокоитесь о производительности.

Во всяком случае, я не могу видеть, что вы можете сделать это с помощью ROME, но это можно сделать, если вы создали свой собственный синтаксический анализатор XML.

+0

Мы использовали наш собственный парсер, но он не был идеальным (для поддержки всех версий RSS/ATOM). Если пользователь нажимает на пользовательский интерфейс в контенте, обратитесь к нашему серверу, чтобы получить канал с удаленного хоста. Владельцы контента не хотят, чтобы все элементы фида отображались. Наши тестеры заметили значительное увеличение памяти JVM во время получения всего фида, поэтому мы хотим получить только этот объем записей в канале, который запрашивает пользовательский интерфейс. На данный момент мы загрузили все, а затем вернули только ту сумму, которую хотел получить UI, но это не очень хорошо для производительности - поскольку наше веб-приложение имеет много обращений, просто представьте, что многие пользователи просто нажимают на ссылки, чтобы показывать RSS-канал в пользовательском интерфейсе. –

+0

Вы пытались кэшировать данные? Предполагая, что у вас есть только определенное количество RSS-каналов, чтобы проверить, что вы можете хранить данные за x минут в памяти, прежде чем отправлять запросы снова/обрабатывать данные снова. Это не сложно реализовать, и я сделал этот точный метод самостоятельно для работы с лентой RSS, которая попадала каждый раз, когда пользователь использовал наш сервис. –

+0

Я знаю, о чем вы говорите, мы также используем кеширование браузера для этого, но я бы предпочел также больше копать в получении фида и ограничить его там. это только моя мысль ... –