Онлайн проекта Masterjava.
- Перенес sql файлы в корневую папку
sql- Изменения базы оставил только в файле миграции
databaseChangeLog.sql- Сделал первичный ключ PK
city.ref. Это справочник, и важно, чтобы внешние ссылки FK на него можно было вставить без заморочек. У нас на одном проекте были проблемы, когда на разных окружениях справочные таблицы имели разные id. Данные нельзя было просто вставить скриптами миграции sql без подселектов или программного кода и была задача привести их всех к одинаковымid. Сrefкак PK все упростится. Хотя у кого-то может быть другой опыт:)
- Также см. отдельную тему Миграция DB в уроке.
- Скрип миграции
lb_apply.bat(на sh переведите сами, если unix) можно запускать много раз. По истории смотрится, чтобы каждый ChangeSet накатился только 1 раз. ВНИМАНИЕ: скрипт накатывается на базу, сгенерированнуюinitDB.sql - Liquibase
в
CityDaoTestиProjectDaoTestтакже выделилinit()
- Классы
Result/ChunkResult/GroupResultупростил доList<FailedEmails>- Переименовал
ProcessPayload -> PayloadProcessorCityExport -> CityProcessorUserExport -> UserProcessor
3. Миграция DB
- Liquibase (Dropwizard Migrations)
- Flyway, Liquibase vs FLyway which one to use? (удалили на so, копия на русском)
- MyBatis Migrations
- Техника безопасности при работе с PostgreSQL
- Здоровье индексов в PostgreSQL глазами Java-разработчика
- История про несогласованные данные
- DB Migration rules
4. Веб-сервисы
- Веб-служба. Web service
- Примеры SOAP:
- Resource vs. service
- REST vs SOAP.
REST.
- JAX-WS. SAAJ. JAX-RPC.
- JAX-WS vs Axis2 vs CXF. CFX vs AXIS. CXF vs Spring-WS
- AXIS vs CXF vs Spring WebServices
- Web Service Framework Comparison
- Contract-first and Contract-last styles
- Spring-WS Message Factories
- Introduction to JAX-WS
- JAX-WS Tutorial
- GlassFish » Metro » JAX-WS
- MailService WSDL / XSD
- Тестирование через SoapUI.
- Реализовать
MailSenderс конфигурированием параметров вmail.conf- Commons Email
- Параметры почты (yandex):
mail.host: smtp.yandex.ru
mail.port: 465
mail.username: user@yandex.ru
mail.password: password
mail.useSSL: true
mail.useTLS: false
mail.debug: true
mail.fromName: Name
Если конфигурируете почту Yandex, перейдите в настройки и поднимите галочки:
C включенным Avast были замечены проблемы с
ValidatorException: PKIX path building failed. Avast и Avast Mail Shield для отправки требуется отключить
В случае DEBUG SMTP: AUTH LOGIN failed, Error: authentication failed: Invalid user or password! проверьте Шаг 2. Создайте пароль приложения - при галочке "Включить пароли приложений" нужно указывать пароль к приложению.
При попытке подключиться к хосту smtp.yandex.ru(или другому) возможен
SunCertPathBuilderException: unable to find valid certification path to requested target. В таком случае нужно или выполнить две команды в терминале или сделать все как в статье. Во втором случае перед запуском пропишите в аргументах приложения имя хоста(smtp.yandex.ru:465 если через яндекс)
- Сохранят результат отправки писем в DB (в
MailSender). - DAO и модель для сохранения сделать в модуле
mail-service - Протестировать отправку почты через SoapUI и/или
MailServiceClient
- добавить в модуле
uploadимпорт и сохранение в базу групп и проектов (упрощение: только добавление без удаления/модификации) - добавить при импорте пользователей связи на группы
- если пользователь уже есть в базе, поведение остается прежним: сразу ошибка импорта
- если пользователь новый, добавляется он и его группы
- если какая-либо группа пользователя отсутствует в базе - ошибка импорта
- пользователей много, а их групп еще больше. Если в чанке 2000 юзеров, не делайте 2001 запрос к базе при вставке 1го чанка.
- не считывате конфигурацию при каждой отсылке email
- попробуйте не дублировать инициализацию базы в
mail-service

