Как поддерживать ту же базу кода для нескольких платформ развертывания - PullRequest
0 голосов
/ 28 февраля 2020

Я работаю в java проекте, который реализует REST API (веб-сервисы, без микро-сервисов или с пружинной загрузкой), который мы разворачиваем на нескольких серверах приложений (Wildfly, Liberty). До сих пор мы поддерживали другую кодовую базу для отдельная платформа для развертывания. Внутри кода, хотя logi c то же самое, но пакеты импорта и зависимости POM различны. Сценарий:

  1. В Wildfly мы используем windows FTP для передачи файлов, но для сервера свободы мы используем SSL
  2. API, который используется для создания токена JWT в wildfly: не поддерживается в Liberty.

Может кто-нибудь предложить способ создания единой базы кода для другой платформы развертывания, а также проблемы и узкие места.

1 Ответ

0 голосов
/ 28 февраля 2020

Я предлагаю использовать профили Spring.

Вы можете создать другой пример профилей (wildfy, liberty) и создать 2 компонента

@Component
@Profile("wildfy")
public class FTPFileTransfer implement FileTransfer

@Component
@Profile("liberty")
public class SSLFileTransfer implement FileTransfer

Если вы запускаете свое приложение с -Dspring. profiles.active = wildfy, у вас есть конкретная c реализация для FileTransfer.

Я предлагаю вам прочитать весеннюю документацию по https://www.baeldung.com/spring-profiles.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...