powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / большие объекты и нехватка памяти
12 сообщений из 12, страница 1 из 1
большие объекты и нехватка памяти
    #37836041
kruglikav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Помогите разобраться, пожалуйста!
Стоит задача написать веб-сервис , который лезет в БД и извлекает оттуда данные, но проблема в том что извлекать возможно придется очень много...т.е как я делаю, создаю java бин и в его поля записываю данные из базы, пишу метод который возвращает этот бин и генерирую из этого метода веб-сервис. В итоге этот бин содержит огромные коллекции(ArrayList например) и я боюсь что тут могут возникнуть проблемы с нехваткой ресурсов. Как я понимаю, вебсервис потом из этого бина огромный XML генерирует и отправляет клиенту по HTTP. Опять же не совсем представляю какие могут возникнуть проблемы при пересылке такого большого XML и сможет ли его принять клиент если у клиента компьютер будет намного слабее...вообщем не укладывается у меня в голове вся эта схема, чувствую что должны тут где то возникнуть проблемы из-за больших объемов данных, но до конца не понимаю...объясните чайнику какие реально возникнут проблемы и как их решить, если не сложно)
В веб-сервисах не силен, просто генерирую их из java классов в jDeveloper
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836053
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav,
в ТЗ должно быть чётко прописано, "много" - это сколько.
И время отклика сервиса для этого Много.
Иначе трёп ни о чём.
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836079
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav,
пример готового сервиса экспорта в XML из БД.
Если данных много, то предупредит.

Экспорт в XML - вкладка экспорт в меню
http://www.openstreetmap.org/
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836105
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как уже сказал Petro123, стоит для начала оценить таки объемы.
"Большие" объекты возникают только если вы там реально храните мегабайты медиа - картинки, звук, мувики. Другими данными реализовать "большие" объекты не просто. Ну, выйдет по 1-2Мб на запрос. Этого хватит на сотню-другую параллельных запросов, а там вы упретесь в другие тормоза.

Помимо этого, Java позволяет на разных уровнях использовать потоковую обработку данных.
JDBC ResultSet - грузит данные в цикле, когда они нужны. Все-все данные сразу выбирать не обязательно.
JPA/Hibernate - точно так же умеет загружать данные по частям.
XML билдер тоже можно подобрать такой, который в потоке сериализует данные и сразу отправляет в конечную точку, не задерживая большие блоки в памяти.

Т.е. для начала стоит определиться на сколько большие данные и действительно ли они большие. А затем проектировать с расчетом на экономию памяти и streaming обработку.
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836146
kruglikav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы! по поводу времени отклика, время не критично, суть этого сервиса предоставить n-ое количество таблиц целиком, таблицы эти на данный момент уже содержат порядка 100тыщ строк, а что будет дальше пока не известно.
По поводу ResultSet, я его и использую для извлечения данных из таблиц, но я же эти данные записываю в бин, который потом возвращаю целиком, а как сделать чтобы обрабатывалось по частям не представляю...
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836150
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav но я же эти данные записываю в бин, который потом возвращаю целиком, а как сделать чтобы обрабатывалось по частям не представляю...

Читаете N строк, конвертируете в бины, бины в XML, XML клиенту и так в цикле.
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836151
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav....суть этого сервиса предоставить n-ое количество таблиц целиком, таблицы эти на данный момент уже содержат порядка 100тыщ строк
У вас там что за люди такие работают, смотреть по 100тыщ строк сразу? :)
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836186
kruglikav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczkruglikav но я же эти данные записываю в бин, который потом возвращаю целиком, а как сделать чтобы обрабатывалось по частям не представляю...

Читаете N строк, конвертируете в бины, бины в XML, XML клиенту и так в цикле.

звучит все очень просто, только как реализовать, ведь насколько я себе это представляю, на один запрос клиент ждет один же ответ, откуда ему знать на сколько я там частей разобью все данные... да и вообще как такой цикл организовать, ведь сервис отсылает ответом только то что возвращает метод
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836205
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikavзвучит все очень просто, только как реализовать, ведь насколько я себе это представляю, на один запрос клиент ждет один же ответ, откуда ему знать на сколько я там частей разобью все данные... да и вообще как такой цикл организовать, ведь сервис отсылает ответом только то что возвращает метод
Вы говорите в терминах какой-то одной технологии, которая вас ограничивает.
JAX-WS не единственная технология, которая позволяет сериализовать XML и вызвать удаленный метод.
Кстати, а действительно ли вам нужно загонять данные в объекты? Сразу в XML не проще?
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836225
kruglikav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для меня проще в объекты, так как тогда я пишу обычный java метод, а уже jDeveloper преобразует его в сервис, если без объектов, то нужно тогда полностью самому писать сервис и формировать soap сообщение
Ладно, спасибо за помощь, чувствую что пока мне еще очень рано обсуждать здесь этот вопрос, так как знаний совсем мало
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37836231
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav,
дело не в знаниях, а в ВИ (Варианты использования) \ use case
Т.е. как ЭТО будет выглядет в ГУИ.
А наПРОГИТЬ можно любое Г...
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
большие объекты и нехватка памяти
    #37837363
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kruglikav,

очень советую отказать при больших объемах от xml и использовать хотя бы csv формат.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / большие объекты и нехватка памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]