2010-12-01 1 views
0

Я работаю на кредитный союз (примерно 60 тыс. Счетов). Процесс утверждения выполняется с 70-х годов, и он плотно связывает данные с макетом. Короче говоря, вы запускаете задание и выдает текстовый файл, содержащий инструкцию для каждой учетной записи. Я изменил мэйнфреймов конфигурации и теперь вместо того, чтобы текст, я получить XML так:chunking XML и загрузка его в реляционные таблицы

<statements> 
    <statement account='1'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
    <statement account='N'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
</statements> 

Я написал код Java для извлечения данных из реляционных таблиц (ы) и создать PDF-файлы на лету с IText. Некоторые данные, отображаемые в инструкции, вычисляются из данных в XML. Например, XML содержит все транзакции на общем ресурсе. В заявлении мы хотим показать количество кредитов и количество дебетов. После загрузки в БД я могу использовать представление для расчета этих значений «на лету» и предоставления данных в мое приложение java.

этот XML-файл ~ 900 МБ и будет расти только по мере добавления дополнительных членов.

Я хочу обработать xml одно «заявление» за раз. http://mrico.eu/entry/parsing_chunks_of_xml_documents

Can JAXB parse large XML files in chunks)

После того, как у меня есть отдельное заявление, я хочу, чтобы загрузить его акции (проверка, сбережения, визы и т.д.) в соответствующие таблицы БД.

Похоже, что самый простой способ добиться этого - связать оператор с POJO, а затем для каждого сложного элемента (долевого или транзакции или займа) в POJO, вставить.

какая комбинация инструментов анализатора/связующего/персистентности вы бы, ребята, рекомендовали?

лично, я бы предпочел бы сырые вставки JDBC, поэтому вопрос о парсере и связующем более важен.

Примечание: Возможно, я мог бы создать схему для XML, но она может быть хрупкой из-за того, как мэйнфрейм создает XML-файл. Любой, кто использует программное обеспечение Fiserv's Spectrum, чувствует мою боль.

ответ

0

Посмотрите на StAX, который является потоковым API для XML.

Смежные вопросы