Проблема с использованием собственного драйвера JDBC для работы с приложениями Zuul-Eureka Spring-Boot, которые используют HTTP-связь - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть набор приложений Spring Boot, которые общаются друг с другом через http-вызовы и зарегистрированы на сервере Eureka.

Одно из этих приложений, например, DBServices, взаимодействует с БД Oracle.В этой БД я храню некоторые данные других приложений Java, скажем, потребителей.Теперь я пытаюсь разрешить потребителям использовать свои данные в моей базе данных Oracle с помощью настраиваемого драйвера JDBC (оболочки над драйвером JDBC), который я пишу.

Я пытаюсь найти способ, когда потребитель вызываетcreateConnection() или executeQuery(), мой пользовательский драйвер фактически выполняет свой запрос в DBServices и возвращает результат через набор результатов.Возможно ли это?

Вопрос в основном из-за того, что пользовательский драйвер JDBC пытается взаимодействовать с микросервисами, использующими связь http / REST.

1 Ответ

0 голосов
/ 19 февраля 2019

Если я правильно понимаю, вы пытаетесь создать оболочку поверх существующих классов источников данных JDBC.Это зависит от того, как вы конфигурируете источник данных, но я полагаю, вам придется расширить класс источника данных в свой класс cutom и настроить свой класс вместо стандартного класса источника данных драйвера JDBC в конфигурации источника данных.

Теперь в вашем пользовательском классе источника данных вы можете переопределить функцию createConnection или executeQuery.Точно так же вам также может понадобиться переопределить классы Statement и PreparedStatements.

Кроме того, в классах драйверов JDBC есть много статической инициализации, о которой вам следует помнить.Наряду с этим, если драйвер JDBC, который вы используете ..., имеет конечные классы, этот подход вообще не будет работать.

(Публикация в качестве ответа в виде комментариев не может иметь такой длинный текст)

...