Рус Лан, есть класс RestTemplate , у него есть много замечательных методов и один их них getForObeject(
String uri, Class type) , это то что ты ищешь и работает прямо из коробки
mayton2019, спринг батч там пригодился, ибо у него очень удобные бек офф политики. Сделал в один шаг на стандартных интерфейсах батча, itemReader, ItemProcessor , ItemWriter. В нашем случае конечно это оверхед, но для обшего развития вообще отлично, правда пришлось прочитать книгу Spring Batch in Action )
mayton2019,
1 шаг - идем по указанному пути - достаем там файл со списком директорий, далее итерируемся по этому списку и достаем оттуда пути к xml файлам , складываем это все в базу данных в виде такой структуры
id, path
2 шаг - достаем из базы пути, итеративно обходим и выкачиваем файл , парсим xml документ и преобразоываем его в pojo и сохрняем в базу
На вскидку не понятно зачем хранить пути - если они нам нужны только для того чтобы по ним пройти один раз - тоесть по сути часть 1 шага лишняя , так как добавляет ненужные транзакци записи/чтения и транкейта в таблицу путей
так же в коде я не вижу чтобы использовался chunk, тоесть все это обрабатывается последовательно судя по всему - тогда вообще не понятнет смысл батча
я бы сделал так
1 шаг оставить все кроме записи в бд, добавить cnank и передавать эти пути далее по флоу
2.шаг вычитывание файла
3.преобразование данных из файла в pojo
4.запись в базу
сергей кузьмин, один раз в сутки одна джоба состоящая из 4 степов описанных в сабже,
нужно понять что тут лучше подходит. Мне кажется спринг батч , так как одна джоба один раз в сутки, а не поток данных постоянно. Но я в этом не уверен. Я вообще не уверен что тут нужен какой то фреймворк - мне видится что можно спокойно читать файлы на одном конце и кидать готовые доменные модельки в очередь, на другом конце собирать их в батчи и писать в бд
ZERGeich, ну про адекватность понятно, но хотя бы чтобы была какая то методика получения данных, через рест или соуп. Наверняка что то есть, не парсят же напрямую html или выкачивать ежедневоно по 100 + гиг в бд пытаясь найти дельту обновлений...
Владимир пробовал я и https://
и различные комбо с этим хедером - ничего не работает
домен я привел фиктивный - на самом деле там корпоративный домен - который прописан в SPF
скорей всего результат такого поведения MUA недостаточная репутация нашего домена, либо же тот факт , что у нас не настроен DKIM и письмо не проходит до конца DMARC пасы
прочитайте еще раз внимательно мой вопрос - он звучал так - как мне достать в ответе постфикса статус письма( который виден мгновенно кстати) из логов этот же постфикса.
ge, javax.mail это стандартная либа джавы предоставляющая API для отправки писем по протоколам STMP etc
тоесть фактически я просто гененирую письмо в java приложении и посредством javax.mail API отправляю его на свой SMTP server ( postfix)
Теперь все стало предельно ясно ,огромное спасибо @gedev
ПС.Последний вопрос - реакцию на статусы и коды можно как то прописать в конфигах постфикса?
например если такой то код - то надо еще пытаться ,а если вот такой - то выкинуть из очереди
ge, вы меня не поняли
постфикс всегда отвечает 250 qued при этом если смотреть логи в этот же момент я вижу реальный статус письма
либо sent,либо deffered etс -так вот меня и инетересовал факт получения этого статуса - тоесть если бы я видел что письмо отложено - я бы инициировал повторную отсылку.
Но если я правильно все понял то нет нужды обрабатывать ответы посфикс - так как в случае ошибки постфикс инициирует повторную отрпавку письма и мне не нужно об этом беспокоиться верно?
String uri, Class type) , это то что ты ищешь и работает прямо из коробки