Такая вот ерунда просто вымогает при каждом запуске вполне легитимных приложений: В интернете полно статей как отключить защиту Defender, поправить групповые политики, изменить настройки конфиденциальности, разблокировать приложение... Всё это шляпа. Оказалось, что если запускать непосредственно сам exe-шник, то запускается сразу без этих дурацких вопросов. Значит дело в ярлыке. Но не понятно что с ним не […]
Архив автора
Spring data jdbc: one-to-one, one-to-many relations


Т.к. в Spring Data JDBC нет стандартных хибернейтовских аннотаций типа @OneToOne, @OneToMany и @JoinColumn, то для меня было проблематично понять можно ли там вообще организовать отношения и использовать их при получении или сохранении объектов. Оказалось это делается так: One-To-One При такой реализации объект Operation без проблем вычитывается из БД уже с смапленным внутрь TaxInfo. Так […]
Elasticsearch 403


Да, эластиксёрч в россии всё. Но у нас пока есть tor, поэтому можно использовать wget через tor proxy:
Логгирование обращений к базе данных в Spring Boot


Чтобы логгировать SQL-запросы к базе данных - нужно добавить следующие свойства: Ещё есть вариант использовать библиотеку p6spy, которая будет писать в лог настоящие запросы: 1
Задержка принятия следующего Jms сообщения после ошибки


Вариант реализации JmsListenerContainerFactory (на основе DefaultJmsListenerContainerFactory) для задержки принятия следующего jms сообщения, если был выброшен необработанный эксепшен: Инициализация выглядит следующим образом
9.Транзакционность в JMS


Транзакционность используется для возвращения сообщения обратно в очередь, в случае возникновения исключения при его обработке. Для настройки транзакционности, нужно указать ContainerFactory бину - бин PlatformTransactionManager. Пример настроек JMS: Для того, чтобы rollback сообщения сработал, достаточно чтобы из метода помеченного @JmsListener выбросилось необработанное исключение. Таким образом, исходное сообщение снова появится в очереди и его хэадер JMSXDeliveryCount […]
Кастомная Jackson десериализация/сериализация


Допустим, имеем такую DTO: А нам нужно десериализовать из такого json: То используем над полем аннотацию @JsonDeserialize(using = ProductDtoDeserializer.class) и делаем десериализатор А теперь сделаем так, чтобы строковое поле сериализовывалось в UpperCase 2
Как настроить ssh при работе GitLab + SmartGit


открыть Putty Key Generator сгенерировать пару то, что появилось в окошке Public key for pasting into OpenSSH... - скопировать и вставить в SSH Keys гитлаба нажать Conversion > Export OpenSSH key. Его как раз и использовать при подключении через smartGit. В смартгит можно управлять ключами в Edit -> Properties -> Authentication 4
Проверка json в mockMVC тестах и не только


Протестировать ваш jsonPath можно в сервисе https://jsonpath.com/ Кроме того, просто извлечь значение согласно указанного jsonPath можно так: 3
Настройка Gitlab CI/CD для java приложения


1. Создание раннера Для начала нам нужно организовать постоянно работающий процесс (runner), который будет выполнять все задачи по нашему CICD (т.е. задания билдинга, проверки, закрузки на сервер и выполнения в нём каких-то команд). Кстати, у гитлаба есть много разных публичных runner'ов, но, во-первых - я бы не хотел чтобы код моего закрытого репозитория улетал на […]