Java Spring общий доступ к документу MongoDB при загрузке в нескольких проектах - PullRequest
0 голосов
/ 06 мая 2020

Я создаю приложение с несколькими модулями, и оба они должны запрашивать одну и ту же коллекцию . Итак, я создал общий модуль для хранения контрактов Document , который является интерфейсом необходимых методов для каждой службы Document class для реализации. Звучит хорошо, потому что таким образом я заставляю оба класса использовать этот контракт. Проблема в том, что Service A требует добавления дополнительных полей к Document class , которые не используются Service B . в качестве примера:

Общий модуль:

public interface UserContract {

  String getId();
  String getUsername();

}

Сервис A:

public class Administrator implements UserContract {
  private String additionalField;
  ... method implementations
}

Сервис B:

public class RegularUser implements UserContract {
  ... method implementations
}

Итак, если сценарий случится так, что я обновлю ту же коллекцию из Service B , которая имеет меньше полей, чем Service A class, и позже буду запрашивать элементы из этой коллекции в Service A Я бы получил исключение, потому что Сервис B во время обновления не включал дополнительные поля.

Какие есть другие варианты для совместного использования / обеспечения исполнения контракта между другими проектами и не нарушать работу других сервисов?

...