Введение
BeeCP-Starter — это инструмент управления источниками данных Springboot от BeeCP (Xiao Mibi Connection Pool).
[Если вы ищете более профессиональный инструмент для управления источниками данных, рекомендуется использовать динамический стартер источника данных Baomidou (https://github.com/baomidou/dynamic-datasource-spring-boot-starter)]
Загрузка Maven координаты:
<dependency>
<groupId>com.github.chris2018998</groupId>
<artifactId>beecp-spring-boot-starter</artifactId>
<version>1.8.12</version>
</dependency>
Мониторинг Адрес мониторинга: http://IP:port/xxxx/beecp. Здесь можно открыть интерфейс мониторинга (где xxxx — имя проекта).
Метки приложения
Метка | Примечание |
---|---|
@EnableMultiDs | Включить метку для нескольких источников данных |
@EnableDsMonitor | Включите эту метку, чтобы активировать мониторинг пула соединений, иначе интерфейс мониторинга не откроется |
@DsId | При использовании комбинированных источников данных можно указать идентификатор источника данных |
Конфигурация источника данных
Идентификатор источника данных. Используется как BeanId при регистрации в контейнере Spring. Можно настроить несколько идентификаторов при использовании нескольких источников (@EnableMultiDataSource). Разделяйте идентификаторы запятыми, например: ds1,ds2.
Класс источника данных. Если не указано, по умолчанию используется org.stone.beecp.BeeDataSource. Эту конфигурацию можно использовать для поддержки других источников данных.
Указывает, является ли источник данных основным.
Имя Jndi источника данных. Источник данных поступает из самого контейнера развёртывания, и эта конфигурация конфликтует с конфигурацией type. Дополнительные свойства см. в списке свойств BeeCP.
Элементы мониторинга
Идентификатор пользователя для входа в систему мониторинга. Не требуется, если не настроено.
Пароль для входа пользователя в систему мониторинга.
Переключатель для включения отслеживания SQL. Значение true включает отслеживание.
Переключатель, указывающий, следует ли отображать SQL на стороне сервера.
Размер пула отслеживания SQL (до 1000).
Максимальное время нахождения SQL в пуле мониторинга в миллисекундах.
Пороговое значение времени выполнения неэффективного SQL в миллисекундах.
Период сканирования пула мониторинга SQL в миллисекундах. Когда время SQL превышает sql-trace-timeout, он очищается.
Имя класса триггера предупреждения выполнения SQL (необходимо расширить класс: org.stone.beecp.springboot.statement.StatementTraceAlert). Триггер срабатывает при неэффективном или ошибочном выполнении SQL.
Пример конфигурации
spring.datasource.sql-trace=true # включить отслеживание SQL (по умолчанию True)
spring.datasource.sql-show=true # отображать ли SQL
spring.datasource.sql-trace-max-size=100 # количество выполнений SQL для отслеживания
spring.datasource.sql-trace-timeout=60000 # максимальное время отслеживания SQL (в миллисекундах)
spring.datasource.sql-exec-slow-time=5000 # пороговое значение времени выполнения неэффективного SQL (в миллисекундах)
spring.datasource.sql-trace-timeout-scan-period=18000 # период сканирования пула SQL (в миллисекундах)
spring.datasource.sql-exec-alert-action=xxxxx # имя класса триггера оповещения о выполнении SQL (необходимо расширить класс: org.stone.beecp.springboot.statement.StatementTraceAlert)
Одноисточниковый пример Если не включена метка @EnableMultiDataSource, то средство запуска автоматически пытается загрузить один источник. Это предполагает, что класс источника данных Bee присутствует в ClassPath системы. Этот подход подходит для случаев с одним источником данных. Пример конфигурации:
spring.datasource.type=orgs.stone.beecp.BeeDataSource
spring.datasource.poolName=BeeCP1
spring.datasource.username=root
spring.datasource.password=
spring.datasource.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.fairMode=true
spring.datasource.initialSize=10
spring.datasource.maxActive=10
spring.datasource.xxx=value
Здесь xxx обозначает имя свойства конфигурации источника данных. Дополнительные свойства см. в списке свойств BeeCP. ## Пример нескольких источников данных
Если вы включаете тег @EnableMultiDataSource, это означает, что инструмент загружает источники данных в соответствии с конфигурацией для нескольких источников. Количество конфигураций не ограничено, но должен быть хотя бы один источник.
Конфигурация в файле application.properties:
# Список для загрузки по одному, это список имён источников данных
spring.datasource.dsId=ds1,ds2,ds3
# Первый источник данных
spring.datasource.ds1.primary=true
spring.datasource.ds1.poolName=BeeCP1
spring.datasource.ds1.username=root
spring.datasource.ds1.password=root
spring.datasource.ds1.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.ds1.driverClassName=com.mysql.cj.jdbc.Driver
# Второй источник данных (контейнерный jndi-источник данных, без мониторинга)
spring.datasource.ds2.jndiName=testDB
# Третий источник данных (другой тип источника данных, без мониторинга)
spring.datasource.ds3.poolName=Hikari
# Класс другого типа источника данных, необходимо настроить тип
spring.datasource.ds3.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.ds3.username=root
spring.datasource.ds3.password=root
spring.datasource.ds3.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.ds3.driverClassName=com.mysql.cj.jdbc.Driver
Полный код примера: https://github.com/Chris2018998/BeeCP-Starter/blob/master/doc/MutilDsDemo_JPA.zip
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )