Как передать переменную между 2-мя Java-модулями в контексте каждого потока без перегрузки? - PullRequest
0 голосов
/ 25 сентября 2018

Доброе утро.У меня есть 2 Java-модуля.Давайте назовем его модулем A и модулем B. Модуль отвечает за чистое взаимодействие с БД.Модуль B является сервисным уровнем.Например, в B для некоторого события, которое получает начальный поток (представим, что это похоже на шаг 1, шаг 2, ...), мы создаем контекст, а после некоторого шага используем статический метод из модуля A и увеличиваем счетчик дБ, если такая запись существуетили добавьте новый.

Проблема: в дБ к этой таблице нам нужно добавить еще 1 столбец, это некоторый идентификатор, который мы можем получить только из контекста.Каждый поток имеет свой собственный контекст.Программа работает следующим образом: мы получаем какое-то событие -> INIT (контекст создан) -> шаг 1 (делаем что-то) и вызываем статический метод приращения из модуля A Контекст передается по всем шагам в модуле B.

В модуле A есть место, где, если бы у меня был свой идентификатор (который отличается для каждого контекста) от B, он бы работал.

инкремент (Enum, id)

Enum (int id1, int id2, int id3).Существует базовый интерфейс, который реализует каждое перечисление, и в каждом классе перечисления он создает объект и в потоке используется как инкремент (EnumRealisation.someObject, int id)

Проблема

Очевидным способом являетсяперегрузите этот статический инкремент в A и добавьте эту переменную из контекста, где вызывается инкремент, проблема в том, что есть> 600 вызовов этого метода, и мы можем сделать это, но это долгий путь.Я пытаюсь найти решение, которое я бы мог как-то сохранить, передать или автоматически связать мою переменную из контекста и извлечь ее из модуля А. Ребята, может быть, вы знаете какой-нибудь способ, как я могу реализовать мою проблему?Или какая-нибудь библиотека.

Спасибо!

...