Spring boot 2.5 Не работает с драйвером репликации MySQL

#spring-boot #jdbc #spring-jdbc #mysql-connector

Вопрос:

Я нахожусь в процессе переноса традиционного приложения war/spring на springboot 2.5, и я не могу заставить MySQL работать с JPA/JDBC с помощью драйвера репликации mysql:

spring.datasource.url=jdbc:mysql:replication://host1:3306,rohost2:3306/dbname?autoReconnect=trueamp;serverTimezone=UTCamp;logger=com.mysql.cj.log.Slf4JLoggeramp;allowSlavesDownConnections=trueamp;readFromMasterWhenNoSlaves=trueamp;loadBalanceBlacklistTimeout=5000

Ответ:

вложенным исключением является исключение java.lang.RuntimeException: Драйвер com.mysql.cj.jdbc.Драйвер утверждает, что не принимает jdbcUrl, » jdbc:mysql:репликация://…..»

Драйвер репликации не поддерживается в Spring boot?

Комментарии:

1. Зачем вам нужен драйвер репликации для приложения?

2. Мое приложение использует узлы только для чтения для повышения производительности, поскольку это приложение с несколькими принципами, в котором более 100 тысяч пользователей. Примером использования может быть отчетность или любая операция, при которой требуется чтение данных с уровня обслуживания без операции записи. В этом случае мы используем @Transactional Spring(только для чтения=true). Это значительно повышает нагрузку на наши базы данных MySQL, которые работают на AWS RDS с использованием нескольких реплик, доступных только для чтения.

3. Какую версию mysql:mysql-connector-java вы используете? Значение по умолчанию для Spring Boot 2.5.x равно 8.0.x, где я не считаю, что для репликации требуется отдельный драйвер. Если вы используете старую версию соединителя, вам может потребоваться указать spring.datasource.driver-class-name полное имя драйвера репликации.