Замена модулей Guice между тестированием и развертываниемJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Замена модулей Guice между тестированием и развертыванием

Сообщение Anonymous »

У меня есть две реализации некритического сервиса, внедренного Guice. Реализации публикуют результаты в другой системе. Когда я работаю локально, нет возможности подключиться к другой системе. У меня есть два класса, реализующие интерфейс публикации: RealPublisher и EchoPublisher. EchoPublisher регистрирует переданную информацию и возвращает успех. Когда я тестирую приложение, я использую EchoPublisher. Мне нужно это, чтобы перейти на RealPublisher при развертывании.
Я вижу, как это можно сделать с помощью метода @Provides, который определяет среду и возвращает правильную реализацию. . Или заменяю весь модуль при создании инжектора.
Моя система сборки — Gradle, которая не устанавливает никаких переменных среды, таких как Bazel, когда она используется для запуска приложения (насколько это возможно). Я знаю), поэтому мне понадобится какой-то другой способ даже обнаружить окружающую среду. Существует значение Guice.Stage, которое может упростить эту задачу с помощью метода @Provides. Конечно, мне тоже нужно знать, когда переключать этот флаг.
Есть ли хороший способ справиться с заменой реализаций, не забывая каждый раз делать это вручную? р>

Подробнее здесь: https://stackoverflow.com/questions/792 ... deployment
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»