Пул соединений HikariCP-Oracle воссоздается при каждом вызове функции Java Micronaut AzureJAVA

Программисты JAVA общаются здесь
Anonymous
Пул соединений HikariCP-Oracle воссоздается при каждом вызове функции Java Micronaut Azure

Сообщение Anonymous »

Я работаю над Java-приложением, созданным с использованием платформы Micronaut, которое использует функции Azure для бессерверного проектирования. Приложение подключается к базе данных Oracle. Однако я столкнулся с проблемой, когда новый пул соединений создается при каждом вызове функции. Это приводит к быстрому увеличению количества активных процессов базы данных, что в конечном итоге превышает максимальное количество процессов на стороне базы данных Oracle.
Вот какое поведение я наблюдаю:
  • Размер пула соединений установлен на 10.
  • Для каждого вызова функции создается новый пул соединений с 10
    создаются соединения, что приводит к резкому увеличению количества процессов в
    базе данных.
Для сравнения у меня есть другое приложение с аналогичной настройкой но написан на Spring Boot и не сталкивается с этой проблемой. В Spring Boot пул соединений повторно используется при вызовах, а размер пула остается стабильным и равен 10, как и ожидалось.
Вопрос:
  • Есть ли способ настроить приложение Micronaut для повторного использования
    одного пула соединений при вызове функций, аналогично тому, как
    он работает в Spring Boot?

    Как запретить Micronaut создавать новый пул соединений при
    при каждом вызове в этом бессерверном контексте?
Я использую HikariCP в качестве поставщика пула.
Вот зависимости, которые я использую,

Код: Выделить всё

io.micronaut.sql
micronaut-jdbc-hikari
compile


io.micronaut.data
micronaut-data-hibernate-jpa
4.7.1


io.micronaut.data
micronaut-data-tx-hibernate
4.8.4


com.oracle.database.jdbc
ojdbc10
19.23.0.0

Я вижу следующие журналы для каждого вызова:

Код: Выделить всё

[2024-10-17T03:36:31.767Z] [36m09:06:31.766[0;39m [1;30m[pool-2-thread-2][0;39m [34mINFO [0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@42b52ad3
[2024-10-17T03:36:31.768Z] [36m09:06:31.767[0;39m [1;30m[pool-2-thread-2][0;39m [34mINFO [0;39m [35mcom.zaxxer.hikari.HikariDataSource[0;39m - HikariPool-1 - Start completed.
[2024-10-17T03:36:31.778Z] [36m09:06:31.777[0;39m [1;30m[pool-2-thread-2][0;39m [34mINFO [0;39m [35mi.m.l.PropertiesLoggingLevelsConfigurer[0;39m - Setting log level 'TRACE' for logger: 'com.zaxxer.hikari'
[2024-10-17T03:36:31.778Z] [36m09:06:31.777[0;39m [1;30m[pool-2-thread-2][0;39m [34mINFO [0;39m [35mi.m.l.PropertiesLoggingLevelsConfigurer[0;39m - Setting log level 'TRACE' for logger: 'io.micronaut.http'
[2024-10-17T03:36:31.778Z] [36m09:06:31.777[0;39m [1;30m[pool-2-thread-2][0;39m [34mINFO [0;39m [35mi.m.l.PropertiesLoggingLevelsConfigurer[0;39m - Setting log level 'TRACE' for logger: 'io.micronaut.http.client'
[2024-10-17T03:36:31.881Z] [36m09:06:31.880[0;39m [1;30m[HikariPool-1 housekeeper][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Pool stats (total=1, active=0, idle=1, waiting=0)
[2024-10-17T03:36:34.473Z] [36m09:06:34.472[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@620baa8d
[2024-10-17T03:36:34.509Z] [36m09:06:34.509[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=2, active=0, idle=2, waiting=0)
[2024-10-17T03:36:35.999Z] InvocationId : fa90e899-7dd9-478f-b057-6067e3d9d688
[2024-10-17T03:36:36.010Z] [36m09:06:36.009[0;39m [1;30m[pool-2-thread-2][0;39m [39mTRACE[0;39m [35mi.m.http.server.RequestLifecycle[0;39m - Matched route POST - /api/v1/login to controller class io.micronaut.security.endpoints.LoginController
[2024-10-17T03:36:36.068Z] [36m09:06:36.068[0;39m [1;30m[pool-2-thread-2][0;39m [39mTRACE[0;39m [35mi.m.http.server.cors.CorsFilter[0;39m - Http Header Origin not present. Proceeding with the request.
[2024-10-17T03:36:36.069Z] [36m09:06:36.068[0;39m [1;30m[pool-2-thread-2][0;39m [39mTRACE[0;39m [35mi.m.http.server.cors.CorsFilter[0;39m - Http Header Origin not present.  Proceeding with the request.
[2024-10-17T03:36:36.841Z] [36m09:06:36.840[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@2d3f4add
[2024-10-17T03:36:36.878Z] [36m09:06:36.878[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=3, active=1, idle=2, waiting=0)
[2024-10-17T03:36:39.249Z] [36m09:06:39.248[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@55bc76e8
[2024-10-17T03:36:39.294Z] [36m09:06:39.293[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=4, active=1, idle=3, waiting=0)
[2024-10-17T03:36:39.781Z] Function "PsoHttpTrigger" (Id: fa90e899-7dd9-478f-b057-6067e3d9d688) invoked by Java Worker
[2024-10-17T03:36:39.834Z] Executed 'Functions.PsoHttpTrigger' (Succeeded, Id=fa90e899-7dd9-478f-b057-6067e3d9d688, Duration=12121ms)
[2024-10-17T03:36:41.651Z] [36m09:06:41.650[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@4eb898e0
[2024-10-17T03:36:41.682Z] [36m09:06:41.681[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=5, active=0, idle=5, waiting=0)
[2024-10-17T03:36:44.200Z] [36m09:06:44.200[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@6fbf0cf2
[2024-10-17T03:36:44.231Z] [36m09:06:44.230[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=6, active=0, idle=6, waiting=0)
[2024-10-17T03:36:46.761Z] [36m09:06:46.760[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@5f294954
[2024-10-17T03:36:46.792Z] [36m09:06:46.791[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=7, active=0, idle=7, waiting=0)
[2024-10-17T03:36:49.643Z] [36m09:06:49.642[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@7af83c22
[2024-10-17T03:36:49.674Z] [36m09:06:49.673[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=8, active=0, idle=8, waiting=0)
[2024-10-17T03:36:52.201Z] [36m09:06:52.200[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@2932f35f
[2024-10-17T03:36:52.232Z] [36m09:06:52.231[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=9, active=0, idle=9, waiting=0)
[2024-10-17T03:36:54.761Z] [36m09:06:54.760[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@8b2f707
[2024-10-17T03:36:54.799Z] [36m09:06:54.798[0;39m [1;30m[HikariPool-1 connection adder][0;39m [39mDEBUG[0;39m [35mcom.zaxxer.hikari.pool.HikariPool[0;39m - HikariPool-1 - After adding stats (total=10, active=0, idle=10, waiting=0)
Будем очень признательны за любые советы и идеи!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -micronaut

Вернуться в «JAVA»