Thanks Romain! I looked at the Quarkiverse extension and the 0.0.1 release. This looks like a materially better direction for Polaris operators than the Polaris-managed datasource POC.
As I understand it, Quarkus/Agroal still creates and manages the datasource; the extension only defers driver selection to runtime. That preserves the Quarkus-managed path, with caveats around driver-specific/native integrations and the current coupling to Agroal internals. I suggest we test the released extension in Polaris with a runtime-mounted driver, including health, metrics, telemetry, credentials, transactions, named datasources, and failure behavior. If those checks pass, I think we should adopt this approach and close PR #4984 rather than introduce a second supported datasource model. Cheers, Robert On Mon, Aug 3, 2026 at 1:01 PM Romain Manni-Bucau <[email protected]> wrote: > PS: with the help of George with the latest setup "merges" we get it on > central: > > https://repo1.maven.org/maven2/io/quarkiverse/jdbc/quarkus-jdbc-generic/0.0.1/ > > Romain Manni-Bucau > @rmannibucau <https://x.com/rmannibucau> | .NET Blog > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> > | Old > Blog <http://rmannibucau.wordpress.com> | Github > <https://github.com/rmannibucau> | LinkedIn > <https://www.linkedin.com/in/rmannibucau> | Book > < > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > > > Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact > via > linkedin) > > > Le lun. 3 août 2026 à 09:38, Romain Manni-Bucau <[email protected]> a > écrit : > > > Hi all, > > > > FYI the quarkisverse repo was created -> > > https://github.com/quarkiverse/quarkus-jdbc-generic > > > > waiting some PR to be merged for the release to pass (docs, global > release > > repo so pipelines work etc), but release can come quickly (well I'll be > off > > tomorrow for some holidays with less computer time but you get the idea) > > > > so think it might be the way to move forward - including enhancements, > > wdyt? > > > > Romain Manni-Bucau > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog > > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> > | > > Old Blog <http://rmannibucau.wordpress.com> | Github > > <https://github.com/rmannibucau> | LinkedIn > > <https://www.linkedin.com/in/rmannibucau> | Book > > < > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > > > > Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact > > via linkedin) > > > > > > Le ven. 31 juil. 2026 à 10:01, Romain Manni-Bucau <[email protected] > > > > a écrit : > > > >> quarkiverse is the community OSS marketplace of quarkus, quarkus 'core' > >> integrate with it. > >> personally I see it as component "second citizen" compared to core but > by > >> nature something "runtime" will not hit the core, in particular jdbc > (cause > >> panache, flyway etc will not support it easily/with all optims even if > >> doable). > >> > >> So it is the least worse you can get and you still get eyes from quarkus > >> community. > >> > >> In terms of usage it is just a dependency and likely - once moved - with > >> proper coordinates so it gets the same validations and quality than > >> built-in core extensions. > >> > >> Romain Manni-Bucau > >> @rmannibucau <https://x.com/rmannibucau> | .NET Blog > >> <https://dotnetbirdie.github.io/> | Blog < > https://rmannibucau.github.io/> | > >> Old Blog <http://rmannibucau.wordpress.com> | Github > >> <https://github.com/rmannibucau> | LinkedIn > >> <https://www.linkedin.com/in/rmannibucau> | Book > >> < > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > > > >> Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact > >> via linkedin) > >> > >> > >> Le ven. 31 juil. 2026 à 07:31, Yufei Gu <[email protected]> a écrit > : > >> > >>> Hi Romain, > >>> > >>> Thanks a lot for filing the PR and engaging with the Quarkus community. > >>> Great to see the progress there. > >>> > >>> I'm not very familiar with Quarkiverse, though. Could you or someone > >>> explain how quarkus-jdbc-generic would work in Quarkiverse? In > >>> particular, > >>> how would Polaris consume it? Would it allow users to mount a JDBC > driver > >>> at runtime without rebuilding or reaugmenting the application? > >>> > >>> Thanks! > >>> Yufei > >>> > >>> On Thu, Jul 30, 2026 at 6:36 AM Romain Manni-Bucau < > >>> [email protected]> > >>> wrote: > >>> > >>> > Hi all, > >>> > > >>> > extracted the PR I did on my github for now -> > >>> > https://github.com/quarkusio/quarkus/pull/55677 / > >>> > https://github.com/rmannibucau/quarkus-jdbc-generic > >>> > but it might end up in quarkiverse so can be a good solution for > >>> polaris > >>> > community maintained and quarkus supported > >>> > > >>> > side note: i'll get way less computer time in less than a week so if > >>> > somebody can follow up until I'm back it would be awesome. > >>> > > >>> > Romain Manni-Bucau > >>> > @rmannibucau <https://x.com/rmannibucau> | .NET Blog > >>> > <https://dotnetbirdie.github.io/> | Blog < > >>> https://rmannibucau.github.io/> > >>> > | Old > >>> > Blog <http://rmannibucau.wordpress.com> | Github > >>> > <https://github.com/rmannibucau> | LinkedIn > >>> > <https://www.linkedin.com/in/rmannibucau> | Book > >>> > < > >>> > > >>> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > >>> > > > >>> > Javaccino <https://javaccino.dev/> founder (Java/.NET service - > >>> contact > >>> > via > >>> > linkedin) > >>> > > >>> > > >>> > Le lun. 27 juil. 2026 à 23:58, Romain Manni-Bucau < > >>> [email protected]> > >>> > a > >>> > écrit : > >>> > > >>> > > Reaugmentation or its friend 'build commands are what makes final > >>> > products > >>> > > (like keycloak or polaris) not that consummable compared to > standard > >>> > plain > >>> > > JVM solution (CDI, EE, microprofile, spring and friends apps) > >>> > > > >>> > > @Dmitri building doesn't add a jar, it does if you add a dependency > >>> > > somehow, doing a "copy" somewhere does, the common use case is an > >>> init > >>> > > container copying the driver from a well know driver (or location > >>> even if > >>> > > now OCI images being mountable make it very smooth) to a folder in > >>> the > >>> > > classpath of the app, 0 code modification of the "app", pure > config. > >>> > > Think this is what we should be after. > >>> > > > >>> > > Romain Manni-Bucau > >>> > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog > >>> > > <https://dotnetbirdie.github.io/> | Blog < > >>> https://rmannibucau.github.io/> > >>> > | > >>> > > Old Blog <http://rmannibucau.wordpress.com> | Github > >>> > > <https://github.com/rmannibucau> | LinkedIn > >>> > > <https://www.linkedin.com/in/rmannibucau> | Book > >>> > > < > >>> > > >>> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > >>> > > > >>> > > Javaccino founder (Java/.NET service - contact via linkedin) > >>> > > > >>> > > > >>> > > Le lun. 27 juil. 2026 à 19:31, Dmitri Bourlatchkov < > [email protected]> > >>> a > >>> > > écrit : > >>> > > > >>> > >> ... but we still need to add (at least) one more jar to the > >>> application, > >>> > >> right? > >>> > >> > >>> > >> Is that possible without re-building? Sorry, I did not read the > docs > >>> > about > >>> > >> "mutable-jar" :) > >>> > >> > >>> > >> Cheers, > >>> > >> Dmitri. > >>> > >> > >>> > >> On Mon, Jul 27, 2026 at 1:22 PM Alexandre Dutra < > [email protected]> > >>> > >> wrote: > >>> > >> > >>> > >> > Hi Dmitri, > >>> > >> > > >>> > >> > From what I understand from the docs [1], it doesn't require a > >>> > >> > (separate) build, however the application startup will be very > >>> slow > >>> > >> > because it will be re-built on the fly. > >>> > >> > > >>> > >> > Here is the example they show: > >>> > >> > > >>> > >> > java -jar -Dquarkus.launch.rebuild=true > >>> > >> > -Dquarkus.datasource.db-kind=mysql > >>> target/quarkus-app/quarkus-run.jar > >>> > >> > > >>> > >> > Thanks, > >>> > >> > Alex > >>> > >> > > >>> > >> > [1]: > >>> > >> > > >>> > >> > >>> > > >>> > https://quarkus.io/guides/reaugmentation#2-re-augment-your-application-with-a-different-build-time-configuration > >>> > >> > > >>> > >> > On Mon, Jul 27, 2026 at 7:06 PM Dmitri Bourlatchkov < > >>> [email protected] > >>> > > > >>> > >> > wrote: > >>> > >> > > > >>> > >> > > Hi Alex, > >>> > >> > > > >>> > >> > > Re-augmentation requires a build, does it not? > >>> > >> > > > >>> > >> > > We can probably do that inside docker: > >>> > >> > > > >>> > >> > > * User adds a jar to the image > >>> > >> > > * Quarkus build is executed inside docker build (using helper > >>> > scripts > >>> > >> > > from Polaris) > >>> > >> > > * Final image is has the driver available via Quarkus. > >>> > >> > > > >>> > >> > > Did you mean something like this? > >>> > >> > > > >>> > >> > > Cheers, > >>> > >> > > Dmitri. > >>> > >> > > > >>> > >> > > On Mon, Jul 27, 2026 at 10:30 AM Alexandre Dutra < > >>> [email protected] > >>> > > > >>> > >> > wrote: > >>> > >> > > > >>> > >> > > > Hi all, > >>> > >> > > > > >>> > >> > > > Indeed the Quarkus PR is likely not going to be accepted, > >>> however > >>> > it > >>> > >> > > > seems that moving it to Quarkiverse could be acceptable. > >>> > >> > > > > >>> > >> > > > Someone also suggested the Keycloak project's approach to > this > >>> > >> > > > problem: re-augmentation. Keycloak has exactly the same > >>> problem. > >>> > Can > >>> > >> > > > we explore this idea as well? > >>> > >> > > > > >>> > >> > > > Thanks, > >>> > >> > > > Alex > >>> > >> > > > > >>> > >> > > > On Mon, Jul 27, 2026 at 4:26 PM Dmitri Bourlatchkov < > >>> > >> [email protected]> > >>> > >> > > > wrote: > >>> > >> > > > > > >>> > >> > > > > Hi All, > >>> > >> > > > > > >>> > >> > > > > Reading recent replies on Quarkus PR [55677] it does not > >>> looks > >>> > >> like > >>> > >> > this > >>> > >> > > > > proposal is viable... unfortunately. > >>> > >> > > > > > >>> > >> > > > > If we go with a mixed approach similar to our PR [4984], > how > >>> > about > >>> > >> > the > >>> > >> > > > > following proposal? > >>> > >> > > > > > >>> > >> > > > > * Keep the JDBC persistence code generic and unaware of > >>> > DataSource > >>> > >> > > > > implementations (i.e. do not try to "manage" it there) > >>> > >> > > > > > >>> > >> > > > > * Handle custom DataSources at the CDI layer in the > >>> runtime/* > >>> > >> modules > >>> > >> > > > > (ServiceProducers or similar (shared) code). This layer > will > >>> > >> choose > >>> > >> > > > whether > >>> > >> > > > > to use the Quarkus-managed DataSource (default), or load > the > >>> > >> driver > >>> > >> > > > > dynamically and "manually" configure the DataSource. > Custom > >>> > >> > downstream > >>> > >> > > > > builds will keep the option to override the DataSource via > >>> CDI > >>> > >> > mechanics. > >>> > >> > > > > > >>> > >> > > > > * Do not try to make custom DataSource configuration to be > >>> the > >>> > >> same > >>> > >> > as > >>> > >> > > > the > >>> > >> > > > > Quarkus configuration. It can only cause maintenance > >>> headache. > >>> > >> Define > >>> > >> > > > > separate, documented configuration options for the dynamic > >>> path. > >>> > >> > Users of > >>> > >> > > > > the dynamic driver will have to handle deployment > >>> differences > >>> > >> anyway. > >>> > >> > > > > > >>> > >> > > > > * Use Agroal on both paths for consistency. > >>> > >> > > > > > >>> > >> > > > > * Add a small integration test for the dynamic path based > on > >>> > MySQL > >>> > >> > > > > (test-only GPL deps are ok, I guess). > >>> > >> > > > > > >>> > >> > > > > As Alex noted above, we'll need to review observability in > >>> the > >>> > >> custom > >>> > >> > > > > DataSource case. I believe that no OTel support will be > >>> > available > >>> > >> > there > >>> > >> > > > by > >>> > >> > > > > default, which probably needs to be documented (at least). > >>> > >> > > > > > >>> > >> > > > > [4984] https://github.com/apache/polaris/pull/4984 > >>> > >> > > > > > >>> > >> > > > > [55677] https://github.com/quarkusio/quarkus/pull/55677 > >>> > >> > > > > > >>> > >> > > > > Cheers, > >>> > >> > > > > Dmitri. > >>> > >> > > > > > >>> > >> > > > > On Mon, Jul 27, 2026 at 8:23 AM Jean-Baptiste Onofré < > >>> > >> > [email protected]> > >>> > >> > > > > wrote: > >>> > >> > > > > > >>> > >> > > > > > Hi all, > >>> > >> > > > > > > >>> > >> > > > > > I previously mentioned the potential for confusion in my > >>> > review > >>> > >> of > >>> > >> > the > >>> > >> > > > > > PR. I believe our next steps depend on timing: if a > native > >>> > >> > solution in > >>> > >> > > > > > Agroal/Quarkus is achievable soon, that would be the > ideal > >>> > path. > >>> > >> > > > > > Otherwise, I think PR #4984 could serve as a suitable > >>> > temporary > >>> > >> > > > > > mitigation. > >>> > >> > > > > > > >>> > >> > > > > > Regards, > >>> > >> > > > > > JB > >>> > >> > > > > > > >>> > >> > > > > > On Mon, Jul 27, 2026 at 9:30 AM Alexandre Dutra < > >>> > >> [email protected] > >>> > >> > > > >>> > >> > > > wrote: > >>> > >> > > > > > > > >>> > >> > > > > > > Hi Yufei, > >>> > >> > > > > > > > >>> > >> > > > > > > I am still uncomfortable with the approach taken in > >>> #4984 of > >>> > >> > mixing > >>> > >> > > > > > > managed and unmanaged datasources. IMHO it's confusing > >>> from > >>> > a > >>> > >> > > > > > > configuration and observability perspective, and I > fear > >>> that > >>> > >> > > > > > > maintaining unmanaged datasources will prove way more > >>> > >> complicated > >>> > >> > > > than > >>> > >> > > > > > > "just" starting and stopping a datasource manually. > >>> > >> > > > > > > > >>> > >> > > > > > > Thanks, > >>> > >> > > > > > > Alex > >>> > >> > > > > > > > >>> > >> > > > > > > > >>> > >> > > > > > > On Sun, Jul 26, 2026 at 8:14 PM Yufei Gu < > >>> > >> [email protected]> > >>> > >> > > > wrote: > >>> > >> > > > > > > > > >>> > >> > > > > > > > Thanks for chiming in, JB! That's essentially the > >>> approach > >>> > >> in > >>> > >> > my > >>> > >> > > > > > PR(4984 > >>> > >> > > > > > > > <https://github.com/apache/polaris/pull/4984>), > which > >>> > >> > corresponds > >>> > >> > > > to > >>> > >> > > > > > Option > >>> > >> > > > > > > > 2 in Robert's email. Are we OK moving foward with > >>> this? > >>> > >> > > > > > > > > >>> > >> > > > > > > > Per-realm routing is a potential use case, not the > >>> scope > >>> > of > >>> > >> > this > >>> > >> > > > > > effort. > >>> > >> > > > > > > > > >>> > >> > > > > > > > Yufei > >>> > >> > > > > > > > > >>> > >> > > > > > > > > >>> > >> > > > > > > > On Sun, Jul 26, 2026 at 10:03 AM Jean-Baptiste > Onofré > >>> < > >>> > >> > > > [email protected] > >>> > >> > > > > > > > >>> > >> > > > > > > > wrote: > >>> > >> > > > > > > > > >>> > >> > > > > > > > > Hi > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > As already said, I still think Quarkus/Agroal > stays > >>> the > >>> > >> > default > >>> > >> > > > and > >>> > >> > > > > > > > > single supported pool. I think adding a narrow, > >>> > JVM-only, > >>> > >> > > > documented > >>> > >> > > > > > > > > runtime driver escape hatch is right. > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > Concretely, I would: > >>> > >> > > > > > > > > 1. Split the PR: runtime driver loading is a > small, > >>> > >> > defensible > >>> > >> > > > > > > > > feature. The second pool, and per-realm routing > are > >>> not > >>> > >> > imho, and > >>> > >> > > > > > > > > should not ride in on its coattails. > >>> > >> > > > > > > > > 2. I think per-realm routing is a way bigger > >>> > architectural > >>> > >> > > > decision. > >>> > >> > > > > > > > > 3. I think we should have an explicit agreement on > >>> the > >>> > >> > contract > >>> > >> > > > > > before > >>> > >> > > > > > > > > merging. > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > The best would be to use Agroal, supporting a > >>> > >> runtime-mounted > >>> > >> > > > driver > >>> > >> > > > > > > > > in JVM mode. I will ping my Quarkus contacts to > get > >>> the > >>> > >> > status of > >>> > >> > > > > > > > > that. > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > Regards > >>> > >> > > > > > > > > JB > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > On Fri, Jul 24, 2026 at 10:24 PM Yufei Gu < > >>> > >> > [email protected]> > >>> > >> > > > > > wrote: > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > Robert, > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > I don't think these are hypothetical use cases. > >>> > They've > >>> > >> > been > >>> > >> > > > > > recurring > >>> > >> > > > > > > > > > design topics in Polaris for well over a year. > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > - A JDBC driver supplied at runtime instead > of > >>> > being > >>> > >> on > >>> > >> > the > >>> > >> > > > > > build time > >>> > >> > > > > > > > > > classpath is important for proprietary and > >>> Apache > >>> > >> > license > >>> > >> > > > > > incompatible > >>> > >> > > > > > > > > > drivers, such as MySQL. This has been > >>> discussed in > >>> > >> the > >>> > >> > > > > > community for > >>> > >> > > > > > > > > some > >>> > >> > > > > > > > > > time, and PR #4281[4] was blocked by this > >>> > limitation. > >>> > >> > > > > > > > > > - We've also discussed realm based datasource > >>> > routing > >>> > >> > > > > > repeatedly. For > >>> > >> > > > > > > > > > example: > >>> > >> > > > > > > > > > - Issue #3890 [1] tracks multi datasource > >>> > support > >>> > >> and > >>> > >> > > > > > explicitly > >>> > >> > > > > > > > > > discusses whether separation should be per > >>> realm > >>> > >> or > >>> > >> > by > >>> > >> > > > > > workload. > >>> > >> > > > > > > > > > - PR #1482 [2] proposed a concrete realm > to > >>> > >> > datasource > >>> > >> > > > > > mapping. The > >>> > >> > > > > > > > > > discussion wasn't that the use case was > >>> invalid, > >>> > >> but > >>> > >> > that > >>> > >> > > > > > > > > Quarkus's build > >>> > >> > > > > > > > > > time datasource model made it difficult. > >>> > >> > > > > > > > > > - PR #3960 [3] introduced > >>> DataSourceResolver as > >>> > >> > > > groundwork > >>> > >> > > > > > for > >>> > >> > > > > > > > > > datasource routing. The feedback was to > >>> refine > >>> > the > >>> > >> > > > design, > >>> > >> > > > > > not > >>> > >> > > > > > > > > > that the use > >>> > >> > > > > > > > > > case itself shouldn't be supported. > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > Given this history, I don't think the question > is > >>> > >> whether > >>> > >> > these > >>> > >> > > > > > are real > >>> > >> > > > > > > > > > use cases. The project has already acknowledged > >>> them > >>> > >> > multiple > >>> > >> > > > > > times. > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > Romain, thanks for the suggestion. I wish this > >>> could > >>> > be > >>> > >> > > > resolved > >>> > >> > > > > > upstream > >>> > >> > > > > > > > > > in Quarkus, but I don't have much hope, since > >>> build > >>> > time > >>> > >> > > > dependency > >>> > >> > > > > > > > > > resolution is one of Quarkus's core design > >>> principles. > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > [1] > https://github.com/apache/polaris/issues/3890 > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > [2] https://github.com/apache/polaris/pull/1482 > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > [3] https://github.com/apache/polaris/pull/3960 > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > [4] https://github.com/apache/polaris/pull/4281 > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > On Fri, Jul 24, 2026 at 8:54 AM Romain > >>> Manni-Bucau < > >>> > >> > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > > If down stream users need to build anything > >>> instead > >>> > of > >>> > >> > mount > >>> > >> > > > the > >>> > >> > > > > > driver > >>> > >> > > > > > > > > > > then polaris becomes a lib and not a server, > >>> think > >>> > >> very > >>> > >> > few > >>> > >> > > > > > consumer > >>> > >> > > > > > > > > see it > >>> > >> > > > > > > > > > > this way nor would like it so I would favor > >>> runtime > >>> > >> > support. > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > > The side note is that it is always better to > not > >>> > >> compète > >>> > >> > with > >>> > >> > > > > > its own > >>> > >> > > > > > > > > stack > >>> > >> > > > > > > > > > > so maybe two push back to quarkus natively > >>> before > >>> > >> acting > >>> > >> > > > there. > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > > Romain Manni-Bucau > >>> > >> > > > > > > > > > > @rmannibucau <https://x.com/rmannibucau> | > .NET > >>> > Blog > >>> > >> > > > > > > > > > > <https://dotnetbirdie.github.io/> | Blog < > >>> > >> > > > > > > > > https://rmannibucau.github.io/> > >>> > >> > > > > > > > > > > | Old > >>> > >> > > > > > > > > > > Blog <http://rmannibucau.wordpress.com> | > >>> Github > >>> > >> > > > > > > > > > > <https://github.com/rmannibucau> | LinkedIn > >>> > >> > > > > > > > > > > <https://www.linkedin.com/in/rmannibucau> | > >>> Book > >>> > >> > > > > > > > > > > < > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > >>> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > Javaccino founder (Java/.NET service - contact > >>> via > >>> > >> > linkedin) > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > > Le ven. 24 juil. 2026, 17:50, Robert Stupp < > >>> > >> > [email protected]> > >>> > >> > > > a > >>> > >> > > > > > écrit : > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > > > Hi Yufei, > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > Option 1 would not provide either capability > >>> at > >>> > >> > runtime in > >>> > >> > > > the > >>> > >> > > > > > > > > upstream > >>> > >> > > > > > > > > > > > Polaris distribution. > >>> > >> > > > > > > > > > > > Optional drivers would be added through a > >>> > downstream > >>> > >> > build > >>> > >> > > > or > >>> > >> > > > > > > > > assembly, > >>> > >> > > > > > > > > > > and > >>> > >> > > > > > > > > > > > datasource creation would remain > >>> Quarkus-managed. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > That is intentional rather than a missing > >>> part of > >>> > >> > option 1. > >>> > >> > > > > > > > > > > > I mentioned runtime driver loading and > >>> per-realm > >>> > >> > routing > >>> > >> > > > > > because > >>> > >> > > > > > > > > they are > >>> > >> > > > > > > > > > > > the two use cases stated for the POC, not > >>> because > >>> > I > >>> > >> > think > >>> > >> > > > the > >>> > >> > > > > > > > > project has > >>> > >> > > > > > > > > > > > already agreed that Polaris itself must > >>> support > >>> > >> both. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > The concrete current ask I see is a viable > >>> path > >>> > for > >>> > >> > > > optional > >>> > >> > > > > > drivers > >>> > >> > > > > > > > > that > >>> > >> > > > > > > > > > > > Polaris cannot distribute in ASF releases. > >>> > >> > > > > > > > > > > > Runtime loading is one possible answer to > that > >>> > ask. > >>> > >> > > > > > > > > > > > A downstream build or assembly is another. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > Dynamic per-realm datasource creation is a > >>> > separate > >>> > >> > future > >>> > >> > > > > > design. > >>> > >> > > > > > > > > > > > I do not think it should become an implicit > >>> > >> requirement > >>> > >> > > > for the > >>> > >> > > > > > > > > > > > optional-driver decision before its > isolation, > >>> > >> > lifecycle, > >>> > >> > > > > > resource, > >>> > >> > > > > > > > > and > >>> > >> > > > > > > > > > > > operational contract has been discussed. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > So before evaluating option 1 against option > >>> 2's > >>> > >> > > > capabilities, > >>> > >> > > > > > I > >>> > >> > > > > > > > > think we > >>> > >> > > > > > > > > > > > need to decide whether runtime driver > loading > >>> and > >>> > >> > > > Polaris-owned > >>> > >> > > > > > > > > dynamic > >>> > >> > > > > > > > > > > > datasource creation are project > requirements. > >>> > >> > > > > > > > > > > > If both are requirements, option 1 is > >>> naturally > >>> > >> > excluded. > >>> > >> > > > > > > > > > > > If they are not, the POC's additional > >>> capabilities > >>> > >> > should > >>> > >> > > > not > >>> > >> > > > > > by > >>> > >> > > > > > > > > > > themselves > >>> > >> > > > > > > > > > > > become acceptance criteria for every > >>> alternative. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > My preference remains to preserve the > >>> > >> Quarkus-managed > >>> > >> > path > >>> > >> > > > and > >>> > >> > > > > > > > > address > >>> > >> > > > > > > > > > > the > >>> > >> > > > > > > > > > > > optional-driver ask as narrowly as possible. > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > Cheers, > >>> > >> > > > > > > > > > > > Robert > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > On Thu, Jul 23, 2026 at 8:59 PM Yufei Gu < > >>> > >> > > > [email protected] > >>> > >> > > > > > > > >>> > >> > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > That ask does not by itself justify > >>> moving all > >>> > >> > > > supported > >>> > >> > > > > > > > > deployments > >>> > >> > > > > > > > > > > > away > >>> > >> > > > > > > > > > > > > > from Quarkus datasource management. > >>> > >> > > > > > > > > > > > > > Doing so would make Polaris responsible > >>> for > >>> > >> > > > configuration > >>> > >> > > > > > > > > > > > compatibility, > >>> > >> > > > > > > > > > > > > > lifecycle, health, metrics, tracing, > >>> > >> > > > credentials-provider > >>> > >> > > > > > > > > > > integration, > >>> > >> > > > > > > > > > > > > > shutdown, upgrades, and the support > matrix > >>> > >> > currently > >>> > >> > > > > > covered by > >>> > >> > > > > > > > > > > > Quarkus. > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > 1. Keep Quarkus-managed data-sources and > >>> > >> document > >>> > >> > the > >>> > >> > > > > > downstream > >>> > >> > > > > > > > > > > > > > build/assembly path for optional > >>> drivers. > >>> > >> > > > > > > > > > > > > > 2. Keep Quarkus-managed data-sources as > >>> the > >>> > >> > default and > >>> > >> > > > > > add a > >>> > >> > > > > > > > > > > > > deliberately > >>> > >> > > > > > > > > > > > > > limited JVM-only runtime-driver > escape > >>> > hatch. > >>> > >> > > > > > > > > > > > > > 3. Replace Quarkus-managed data-sources > >>> > >> completely. > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > My current preference is ... (option1). > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > Robert, one thing I'm still unclear about > >>> is how > >>> > >> > option 1 > >>> > >> > > > > > would > >>> > >> > > > > > > > > support > >>> > >> > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > following use cases that you mentioned: > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > - Loading optional JDBC drivers at > >>> runtime. > >>> > >> > > > > > > > > > > > > - Creating datasources dynamically as a > >>> > >> building > >>> > >> > > > block for > >>> > >> > > > > > > > > future > >>> > >> > > > > > > > > > > per > >>> > >> > > > > > > > > > > > > realm routing. > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > My PR proposes option 2 because it > addresses > >>> > these > >>> > >> > use > >>> > >> > > > cases > >>> > >> > > > > > while > >>> > >> > > > > > > > > > > > keeping > >>> > >> > > > > > > > > > > > > the existing Quarkus managed deployment > path > >>> > >> > unchanged. > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > On Thu, Jul 23, 2026 at 8:59 AM Dmitri > >>> > >> Bourlatchkov < > >>> > >> > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > Hi Yufei, > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > I wonder why you chose Hikari initially > in > >>> > your > >>> > >> PR > >>> > >> > > > 4984. > >>> > >> > > > > > > > > > > Understanding > >>> > >> > > > > > > > > > > > > that > >>> > >> > > > > > > > > > > > > > rationale could be helpful for this > >>> > discussion. > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > Thanks, > >>> > >> > > > > > > > > > > > > > Dmitri. > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > On Wed, Jul 22, 2026 at 11:28 PM Yufei > Gu > >>> < > >>> > >> > > > > > [email protected]> > >>> > >> > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > Looks like we have two options at this > >>> > point: > >>> > >> > Hikari > >>> > >> > > > > > (Alex, > >>> > >> > > > > > > > > me) and > >>> > >> > > > > > > > > > > > > > Agroal > >>> > >> > > > > > > > > > > > > > > (Dmitri, JB, Romain). > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > Is there any further investigation we > >>> should > >>> > >> do > >>> > >> > > > before > >>> > >> > > > > > making a > >>> > >> > > > > > > > > > > > > decision? > >>> > >> > > > > > > > > > > > > > > Or are we ready to start a vote? > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at 10:15 PM > Romain > >>> > >> > Manni-Bucau < > >>> > >> > > > > > > > > > > > > > [email protected] > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > Maybe add "is there more than one > >>> > committer" > >>> > >> > on the > >>> > >> > > > > > project > >>> > >> > > > > > > > > as a > >>> > >> > > > > > > > > > > > > > > criteria. > >>> > >> > > > > > > > > > > > > > > > Agroal is far to be my preferred > pool > >>> but > >>> > it > >>> > >> > is as > >>> > >> > > > > > easy as > >>> > >> > > > > > > > > others > >>> > >> > > > > > > > > > > > in > >>> > >> > > > > > > > > > > > > > > terms > >>> > >> > > > > > > > > > > > > > > > of config starting from properties > >>> ([1]) > >>> > and > >>> > >> > using > >>> > >> > > > its > >>> > >> > > > > > > > > listeners. > >>> > >> > > > > > > > > > > > > > > > Also note that I assume all > properties > >>> > will > >>> > >> > not be > >>> > >> > > > > > exposed > >>> > >> > > > > > > > > but > >>> > >> > > > > > > > > > > > > > abstracted > >>> > >> > > > > > > > > > > > > > > > by polaris configuration > (potentially > >>> > >> enabling > >>> > >> > a > >>> > >> > > > switch > >>> > >> > > > > > > > > later or > >>> > >> > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > multipool support like in Apache > >>> TomEE) so > >>> > >> > maybe > >>> > >> > > > it is > >>> > >> > > > > > the > >>> > >> > > > > > > > > first > >>> > >> > > > > > > > > > > > > thing > >>> > >> > > > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > define, the needed properties and > >>> > callbacks? > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > [1] > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > >>> > https://github.com/agroal/agroal/blob/517fd36ab0cf1faebaae7d57a55c788d499a4c88/agroal-api/src/main/java/io/agroal/api/configuration/supplier/AgroalPropertiesReader.java#L56 > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > Romain Manni-Bucau > >>> > >> > > > > > > > > > > > > > > > @rmannibucau < > >>> https://x.com/rmannibucau> > >>> > | > >>> > >> > .NET > >>> > >> > > > Blog > >>> > >> > > > > > > > > > > > > > > > <https://dotnetbirdie.github.io/> | > >>> Blog > >>> > < > >>> > >> > > > > > > > > > > > > > https://rmannibucau.github.io/ > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > | Old > >>> > >> > > > > > > > > > > > > > > > Blog < > >>> http://rmannibucau.wordpress.com> | > >>> > >> > Github > >>> > >> > > > > > > > > > > > > > > > <https://github.com/rmannibucau> | > >>> > LinkedIn > >>> > >> > > > > > > > > > > > > > > > < > >>> https://www.linkedin.com/in/rmannibucau> > >>> > | > >>> > >> > Book > >>> > >> > > > > > > > > > > > > > > > < > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > >>> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > Javaccino founder (Java/.NET > service - > >>> > >> contact > >>> > >> > via > >>> > >> > > > > > linkedin) > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > Le jeu. 16 juil. 2026 à 22:18, > >>> Alexandre > >>> > >> Dutra > >>> > >> > < > >>> > >> > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > écrit : > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > Hi all, > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > I don't think the actual pool > >>> > >> implementation > >>> > >> > > > matters > >>> > >> > > > > > much, > >>> > >> > > > > > > > > but > >>> > >> > > > > > > > > > > I > >>> > >> > > > > > > > > > > > > > would > >>> > >> > > > > > > > > > > > > > > > > weigh in some important criteria > >>> before > >>> > >> > choosing: > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > - Is it easily configurable? > >>> > >> > > > > > > > > > > > > > > > > - Is it easily instrumentable? > >>> > >> > > > > > > > > > > > > > > > > - Is it well documented & > >>> maintained? > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > While Agroal is the de facto > choice > >>> for > >>> > >> > Quarkus > >>> > >> > > > > > (it's a > >>> > >> > > > > > > > > JBoss > >>> > >> > > > > > > > > > > > > lib), I > >>> > >> > > > > > > > > > > > > > > > > am not sure it outperforms Hikari > >>> for > >>> > all > >>> > >> the > >>> > >> > > > > > criteria > >>> > >> > > > > > > > > above. > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > Thanks, > >>> > >> > > > > > > > > > > > > > > > > Alex > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at 6:22 PM > >>> Yufei > >>> > Gu < > >>> > >> > > > > > > > > [email protected] > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > Thanks everyone for chiming in. > >>> Agroal > >>> > >> is a > >>> > >> > > > good > >>> > >> > > > > > option > >>> > >> > > > > > > > > as > >>> > >> > > > > > > > > > > > well. > >>> > >> > > > > > > > > > > > > It > >>> > >> > > > > > > > > > > > > > > > looks > >>> > >> > > > > > > > > > > > > > > > > > like we're reaching consensus on > >>> > direct > >>> > >> > > > datasource > >>> > >> > > > > > > > > management > >>> > >> > > > > > > > > > > > at > >>> > >> > > > > > > > > > > > > > > > runtime. > >>> > >> > > > > > > > > > > > > > > > > > I'll start working on the > >>> > implementation > >>> > >> > soon. > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at 4:16 AM > >>> > >> > Jean-Baptiste > >>> > >> > > > > > Onofré < > >>> > >> > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > Hi all, > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > I agree that direct datasource > >>> > >> > management at > >>> > >> > > > > > runtime > >>> > >> > > > > > > > > is a > >>> > >> > > > > > > > > > > > > better > >>> > >> > > > > > > > > > > > > > > > > > > approach than relying on > >>> > >> > quarkus-datasource, > >>> > >> > > > > > which > >>> > >> > > > > > > > > > > currently > >>> > >> > > > > > > > > > > > > > > requires > >>> > >> > > > > > > > > > > > > > > > > > > build-time dependencies. > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > However, we can stay within > the > >>> > >> Quarkus > >>> > >> > > > > > ecosystem and > >>> > >> > > > > > > > > avoid > >>> > >> > > > > > > > > > > > > > > > > > > introducing new dependencies > by > >>> > using > >>> > >> > Agroal, > >>> > >> > > > > > which is > >>> > >> > > > > > > > > > > > already > >>> > >> > > > > > > > > > > > > > > > > > > included in our dependencies. > >>> This > >>> > >> also > >>> > >> > keeps > >>> > >> > > > > > the door > >>> > >> > > > > > > > > open > >>> > >> > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > > > > combining it with Panache in > the > >>> > >> future, > >>> > >> > > > should > >>> > >> > > > > > we > >>> > >> > > > > > > > > decide > >>> > >> > > > > > > > > > > to > >>> > >> > > > > > > > > > > > do > >>> > >> > > > > > > > > > > > > > so. > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > Regards, > >>> > >> > > > > > > > > > > > > > > > > > > JB > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at > 1:28 AM > >>> > Yufei > >>> > >> Gu > >>> > >> > < > >>> > >> > > > > > > > > > > > [email protected] > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > If our goal is to > transition > >>> > >> > entirely to > >>> > >> > > > a > >>> > >> > > > > > > > > > > > "runtime-driven" > >>> > >> > > > > > > > > > > > > > > > > > > architecture, > >>> > >> > > > > > > > > > > > > > > > > > > > we should commit to it > >>> completely > >>> > by > >>> > >> > fully > >>> > >> > > > > > removing > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > > > io.quarkus:quarkus-datasource > >>> > >> > > > > > > > > > > > > > > > > > > > dependency and switching to > >>> Hikari > >>> > >> > > > > > unconditionally. > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > Good point, Alex! I'm open > to > >>> > that. > >>> > >> If > >>> > >> > the > >>> > >> > > > > > community > >>> > >> > > > > > > > > > > > agrees, > >>> > >> > > > > > > > > > > > > I > >>> > >> > > > > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > > > > > make > >>> > >> > > > > > > > > > > > > > > > > > > > that change. > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > Romain, I chose Hikari > >>> because it > >>> > is > >>> > >> > lean, > >>> > >> > > > > > fast, > >>> > >> > > > > > > > > simple. > >>> > >> > > > > > > > > > > > I'm > >>> > >> > > > > > > > > > > > > > open > >>> > >> > > > > > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > > > > > alternatives like dbcp2 if > its > >>> > >> > evaluation > >>> > >> > > > > > proves > >>> > >> > > > > > > > > better. > >>> > >> > > > > > > > > > > As > >>> > >> > > > > > > > > > > > > you > >>> > >> > > > > > > > > > > > > > > > said, > >>> > >> > > > > > > > > > > > > > > > > > > both > >>> > >> > > > > > > > > > > > > > > > > > > > have pros and cons. > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > On Wed, Jul 15, 2026 at > >>> 11:03 AM > >>> > >> Romain > >>> > >> > > > > > Manni-Bucau < > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > Dumb question: why hikari? > >>> it > >>> > has > >>> > >> > some > >>> > >> > > > > > issues like > >>> > >> > > > > > > > > not > >>> > >> > > > > > > > > > > > > > > respecting > >>> > >> > > > > > > > > > > > > > > > > its > >>> > >> > > > > > > > > > > > > > > > > > > conf > >>> > >> > > > > > > > > > > > > > > > > > > > > intentionally (max size in > >>> > >> > particular is > >>> > >> > > > the > >>> > >> > > > > > one > >>> > >> > > > > > > > > which > >>> > >> > > > > > > > > > > > > hurts > >>> > >> > > > > > > > > > > > > > > > since > >>> > >> > > > > > > > > > > > > > > > > you > >>> > >> > > > > > > > > > > > > > > > > > > > > overconsume for a moment > >>> your > >>> > >> > database > >>> > >> > > > > > connections > >>> > >> > > > > > > > > == > >>> > >> > > > > > > > > > > > > prevent > >>> > >> > > > > > > > > > > > > > > > some > >>> > >> > > > > > > > > > > > > > > > > > > services > >>> > >> > > > > > > > > > > > > > > > > > > > > to connect when scaled and > >>> tuned > >>> > >> at > >>> > >> > max > >>> > >> > > > > > count), > >>> > >> > > > > > > > > there > >>> > >> > > > > > > > > > > is > >>> > >> > > > > > > > > > > > no > >>> > >> > > > > > > > > > > > > > > > silver > >>> > >> > > > > > > > > > > > > > > > > > > bullet > >>> > >> > > > > > > > > > > > > > > > > > > > > but something like dbcp2 > >>> can be > >>> > >> neat > >>> > >> > to > >>> > >> > > > start > >>> > >> > > > > > > > > _there_ > >>> > >> > > > > > > > > > > if > >>> > >> > > > > > > > > > > > > > agroal > >>> > >> > > > > > > > > > > > > > > > is > >>> > >> > > > > > > > > > > > > > > > > not > >>> > >> > > > > > > > > > > > > > > > > > > used > >>> > >> > > > > > > > > > > > > > > > > > > > > as a base no - that said I > >>> dont > >>> > >> see > >>> > >> > why > >>> > >> > > > > > switching > >>> > >> > > > > > > > > at > >>> > >> > > > > > > > > > > all, > >>> > >> > > > > > > > > > > > > > > agroal > >>> > >> > > > > > > > > > > > > > > > > can be > >>> > >> > > > > > > > > > > > > > > > > > > > > used without build time > >>> > >> integration > >>> > >> > and > >>> > >> > > > stay > >>> > >> > > > > > > > > consistent > >>> > >> > > > > > > > > > > > > with > >>> > >> > > > > > > > > > > > > > it > >>> > >> > > > > > > > > > > > > > > > if > >>> > >> > > > > > > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > > > > day it > >>> > >> > > > > > > > > > > > > > > > > > > > > comes back? > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > Romain Manni-Bucau > >>> > >> > > > > > > > > > > > > > > > > > > > > @rmannibucau < > >>> > >> > https://x.com/rmannibucau> > >>> > >> > > > | > >>> > >> > > > > > .NET > >>> > >> > > > > > > > > Blog > >>> > >> > > > > > > > > > > > > > > > > > > > > < > >>> > https://dotnetbirdie.github.io/> > >>> > >> | > >>> > >> > > > Blog < > >>> > >> > > > > > > > > > > > > > > > > > > > https://rmannibucau.github.io/> > >>> > >> > > > > > > > > > > > > > > > > > > > > | Old > >>> > >> > > > > > > > > > > > > > > > > > > > > Blog < > >>> > >> > http://rmannibucau.wordpress.com> > >>> > >> > > > | > >>> > >> > > > > > Github > >>> > >> > > > > > > > > > > > > > > > > > > > > < > >>> https://github.com/rmannibucau > >>> > > > >>> > >> | > >>> > >> > > > LinkedIn > >>> > >> > > > > > > > > > > > > > > > > > > > > < > >>> > >> > https://www.linkedin.com/in/rmannibucau> > >>> > >> > > > | > >>> > >> > > > > > Book > >>> > >> > > > > > > > > > > > > > > > > > > > > < > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > >>> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064 > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > Javaccino founder > (Java/.NET > >>> > >> service > >>> > >> > - > >>> > >> > > > > > contact via > >>> > >> > > > > > > > > > > > > linkedin) > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > Le mer. 15 juil. 2026 à > >>> 19:13, > >>> > >> > Alexandre > >>> > >> > > > > > Dutra < > >>> > >> > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > > > > > > écrit : > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > Hi all, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > If jdbc-url is set, > >>> Polaris > >>> > >> > creates > >>> > >> > > > and > >>> > >> > > > > > owns > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > Hikari > >>> > >> > > > > > > > > > > > > > > > > > > datasource. If > >>> > >> > > > > > > > > > > > > > > > > > > > > > it is not set, we keep > >>> using > >>> > the > >>> > >> > > > existing > >>> > >> > > > > > Quarkus > >>> > >> > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > path. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > I have strong > reservations > >>> > >> > regarding > >>> > >> > > > this > >>> > >> > > > > > design. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > Alternating between a > >>> Hikari > >>> > >> pool > >>> > >> > and > >>> > >> > > > an > >>> > >> > > > > > Agroal > >>> > >> > > > > > > > > pool > >>> > >> > > > > > > > > > > > > > > depending > >>> > >> > > > > > > > > > > > > > > > > on the > >>> > >> > > > > > > > > > > > > > > > > > > > > > configuration introduces > >>> > >> > unnecessary > >>> > >> > > > > > complexity > >>> > >> > > > > > > > > and > >>> > >> > > > > > > > > > > > > > potential > >>> > >> > > > > > > > > > > > > > > > > > > > > > confusion. A major > >>> drawback is > >>> > >> that > >>> > >> > > > bugs, > >>> > >> > > > > > > > > performance > >>> > >> > > > > > > > > > > > > > > > > > > characteristics, > >>> > >> > > > > > > > > > > > > > > > > > > > > > and configuration issues > >>> will > >>> > >> vary > >>> > >> > > > across > >>> > >> > > > > > > > > deployments > >>> > >> > > > > > > > > > > > > > purely > >>> > >> > > > > > > > > > > > > > > > > based on > >>> > >> > > > > > > > > > > > > > > > > > > > > > the underlying > connection > >>> pool > >>> > >> in > >>> > >> > use. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > If our goal is to > >>> transition > >>> > >> > entirely > >>> > >> > > > to a > >>> > >> > > > > > > > > > > > > "runtime-driven" > >>> > >> > > > > > > > > > > > > > > > > > > > > > architecture, we should > >>> commit > >>> > >> to > >>> > >> > it > >>> > >> > > > > > completely > >>> > >> > > > > > > > > by > >>> > >> > > > > > > > > > > > fully > >>> > >> > > > > > > > > > > > > > > > > removing the > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> io.quarkus:quarkus-datasource > >>> > >> > > > dependency > >>> > >> > > > > > and > >>> > >> > > > > > > > > > > switching > >>> > >> > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > Hikari > >>> > >> > > > > > > > > > > > > > > > > > > > > > unconditionally. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > Thanks, > >>> > >> > > > > > > > > > > > > > > > > > > > > > Alex > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, 2026 at > >>> 7:10 PM > >>> > >> > Yufei > >>> > >> > > > Gu < > >>> > >> > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Hi Robert, JB, Dmitri, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Thanks, this feedback > >>> makes > >>> > >> > sense. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > There are really two > >>> > >> motivations > >>> > >> > > > here: > >>> > >> > > > > > runtime > >>> > >> > > > > > > > > > > > loading > >>> > >> > > > > > > > > > > > > of > >>> > >> > > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > drivers, > >>> > >> > > > > > > > > > > > > > > > > > > > > > and > >>> > >> > > > > > > > > > > > > > > > > > > > > > > dynamic datasource > >>> creation. > >>> > >> The > >>> > >> > > > former > >>> > >> > > > > > is > >>> > >> > > > > > > > > useful > >>> > >> > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > ASF > >>> > >> > > > > > > > > > > > > > > > > binaries > >>> > >> > > > > > > > > > > > > > > > > > > > > where > >>> > >> > > > > > > > > > > > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > > > > > > > > driver is supplied > after > >>> > >> Polaris > >>> > >> > is > >>> > >> > > > > > built. The > >>> > >> > > > > > > > > > > latter > >>> > >> > > > > > > > > > > > > is > >>> > >> > > > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > > building > >>> > >> > > > > > > > > > > > > > > > > > > > > block > >>> > >> > > > > > > > > > > > > > > > > > > > > > > for future per realm > >>> > >> datasources. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > I'm OK that > >>> Quarkus/Agroal > >>> > >> > remains > >>> > >> > > > the > >>> > >> > > > > > default > >>> > >> > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > supported > >>> > >> > > > > > > > > > > > > > > > > > > backends. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > That's already part of > >>> the > >>> > >> POC. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > The gap I'm trying to > >>> > address > >>> > >> is > >>> > >> > > > where > >>> > >> > > > > > those > >>> > >> > > > > > > > > > > > > assumptions > >>> > >> > > > > > > > > > > > > > no > >>> > >> > > > > > > > > > > > > > > > > longer > >>> > >> > > > > > > > > > > > > > > > > > > > > hold. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Quarkus can select > from > >>> > >> > predefined > >>> > >> > > > > > > > > datasources, but > >>> > >> > > > > > > > > > > > > they > >>> > >> > > > > > > > > > > > > > > > still > >>> > >> > > > > > > > > > > > > > > > > > > need to > >>> > >> > > > > > > > > > > > > > > > > > > > > be > >>> > >> > > > > > > > > > > > > > > > > > > > > > > configured ahead of > >>> time. It > >>> > >> > doesn't > >>> > >> > > > > > currently > >>> > >> > > > > > > > > > > > provide > >>> > >> > > > > > > > > > > > > > > > Polaris > >>> > >> > > > > > > > > > > > > > > > > > > with a > >>> > >> > > > > > > > > > > > > > > > > > > > > > clean > >>> > >> > > > > > > > > > > > > > > > > > > > > > > way to create new > >>> > datasources > >>> > >> > > > > > dynamically. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > So my intent is for > the > >>> > >> contract > >>> > >> > to > >>> > >> > > > be: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > - Quarkus/Agroal > >>> remains > >>> > >> the > >>> > >> > > > default. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > - Polaris managed > >>> JDBC > >>> > is a > >>> > >> > JVM > >>> > >> > > > only > >>> > >> > > > > > escape > >>> > >> > > > > > > > > > > hatch > >>> > >> > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > runtime > >>> > >> > > > > > > > > > > > > > > > > > > > > provided > >>> > >> > > > > > > > > > > > > > > > > > > > > > > drivers and > >>> dynamically > >>> > >> > created > >>> > >> > > > > > datasources. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > - Polaris owns the > >>> pool > >>> > and > >>> > >> > driver > >>> > >> > > > > > > > > lifecycle on > >>> > >> > > > > > > > > > > > that > >>> > >> > > > > > > > > > > > > > > path. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > - Per realm > >>> datasource > >>> > >> routing > >>> > >> > > > should > >>> > >> > > > > > be a > >>> > >> > > > > > > > > > > > separate > >>> > >> > > > > > > > > > > > > > > design > >>> > >> > > > > > > > > > > > > > > > > > > > > discussion. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > It's out of scope > for > >>> > this > >>> > >> > POC. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > JB, I agree we should > >>> > continue > >>> > >> > using > >>> > >> > > > > > Quarkus > >>> > >> > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > drivers > >>> > >> > > > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > > > > backends > >>> > >> > > > > > > > > > > > > > > > > > > > > > > we support directly. > >>> This > >>> > >> path is > >>> > >> > > > mainly > >>> > >> > > > > > for > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > cases > >>> > >> > > > > > > > > > > > > > > > outside > >>> > >> > > > > > > > > > > > > > > > > that > >>> > >> > > > > > > > > > > > > > > > > > > > > > model. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, 2026 at > >>> > 8:03 AM > >>> > >> > > > > > Jean-Baptiste > >>> > >> > > > > > > > > > > Onofré < > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Hi > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Regarding JDBC > >>> drivers in > >>> > >> the > >>> > >> > > > Quarkus > >>> > >> > > > > > > > > ecosystem > >>> > >> > > > > > > > > > > (in > >>> > >> > > > > > > > > > > > > > > > > > > > > quarkus-extensions > >>> > >> > > > > > > > > > > > > > > > > > > > > > or > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > quarkiverse), I > think > >>> we > >>> > can > >>> > >> > just > >>> > >> > > > > > leverage > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > > quarkus > >>> > >> > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > drivers. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Using another > loading > >>> > >> mechanism > >>> > >> > > > could > >>> > >> > > > > > be > >>> > >> > > > > > > > > > > > problematic > >>> > >> > > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > future > >>> > >> > > > > > > > > > > > > > > > > > > > > > features > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > (imagine with we > want > >>> to > >>> > try > >>> > >> > > > native app > >>> > >> > > > > > > > > buld). > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > What is the problem > >>> with > >>> > >> using > >>> > >> > the > >>> > >> > > > > > Quarkus > >>> > >> > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > drivers? > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > I remember that we > >>> agreed > >>> > >> to be > >>> > >> > > > > > opinionated > >>> > >> > > > > > > > > about > >>> > >> > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > backends > >>> > >> > > > > > > > > > > > > > > > > > > > > we > >>> > >> > > > > > > > > > > > > > > > > > > > > > want > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > to support, so we > can > >>> be > >>> > >> > > > opinionated > >>> > >> > > > > > about > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > drivers > >>> > >> > > > > > > > > > > > > > > > > :) > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > I'm not against it, > >>> but I > >>> > >> would > >>> > >> > > > like to > >>> > >> > > > > > > > > > > understand > >>> > >> > > > > > > > > > > > > > better > >>> > >> > > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > > > > rationale. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Regards > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > JB > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, 2026 > at > >>> > >> 3:03 PM > >>> > >> > > > Robert > >>> > >> > > > > > Stupp < > >>> > >> > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Thanks for pushing > >>> this > >>> > >> > forward. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > I agree that > >>> > >> runtime-provided > >>> > >> > > > JDBC > >>> > >> > > > > > drivers > >>> > >> > > > > > > > > are > >>> > >> > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > real > >>> > >> > > > > > > > > > > > > > > > > problem > >>> > >> > > > > > > > > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > > > > > > > solve. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > For > ASF-distributed > >>> > >> binaries, > >>> > >> > > > there > >>> > >> > > > > > are > >>> > >> > > > > > > > > valid > >>> > >> > > > > > > > > > > > cases > >>> > >> > > > > > > > > > > > > > > where > >>> > >> > > > > > > > > > > > > > > > > > > Polaris > >>> > >> > > > > > > > > > > > > > > > > > > > > > should > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > not bundle a > >>> driver, but > >>> > >> > > > operators > >>> > >> > > > > > still > >>> > >> > > > > > > > > need a > >>> > >> > > > > > > > > > > > way > >>> > >> > > > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > > > > provide > >>> > >> > > > > > > > > > > > > > > > > > > one. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > My concern is that > >>> this > >>> > PR > >>> > >> > does > >>> > >> > > > more > >>> > >> > > > > > than > >>> > >> > > > > > > > > load > >>> > >> > > > > > > > > > > > > > runtime > >>> > >> > > > > > > > > > > > > > > > > driver > >>> > >> > > > > > > > > > > > > > > > > > > jars. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > It also > introduces a > >>> > >> second > >>> > >> > > > > > datasource > >>> > >> > > > > > > > > stack: > >>> > >> > > > > > > > > > > > > > > > > Quarkus/Agroal > >>> > >> > > > > > > > > > > > > > > > > > > via > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> `quarkus.datasource.*` > >>> > on > >>> > >> one > >>> > >> > > > side, > >>> > >> > > > > > and > >>> > >> > > > > > > > > > > > > Polaris-owned > >>> > >> > > > > > > > > > > > > > > > > Hikari > >>> > >> > > > > > > > > > > > > > > > > > > pools > >>> > >> > > > > > > > > > > > > > > > > > > > > > via > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > `polaris.persistence.relational.jdbc.*` on > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > > other. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Those two paths > look > >>> > >> similar > >>> > >> > to > >>> > >> > > > > > operators, > >>> > >> > > > > > > > > but > >>> > >> > > > > > > > > > > > they > >>> > >> > > > > > > > > > > > > > do > >>> > >> > > > > > > > > > > > > > > > not > >>> > >> > > > > > > > > > > > > > > > > > > have the > >>> > >> > > > > > > > > > > > > > > > > > > > > > same > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > contract. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > The Quarkus path > >>> brings > >>> > >> > > > > > Quarkus/Agroal > >>> > >> > > > > > > > > > > lifecycle, > >>> > >> > > > > > > > > > > > > > > health, > >>> > >> > > > > > > > > > > > > > > > > > > metrics, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > credentials/secret-manager > >>> > >> > > > > > integrations, > >>> > >> > > > > > > > > and > >>> > >> > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > broader > >>> > >> > > > > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > config > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > surface; those are > >>> all > >>> > >> > important > >>> > >> > > > for > >>> > >> > > > > > > > > operators. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > The > Polaris-managed > >>> path > >>> > >> > means > >>> > >> > > > > > Polaris owns > >>> > >> > > > > > > > > > > pool > >>> > >> > > > > > > > > > > > > > > > lifecycle, > >>> > >> > > > > > > > > > > > > > > > > > > driver > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > loading, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > classloader > >>> behavior, > >>> > and > >>> > >> a > >>> > >> > > > separate > >>> > >> > > > > > > > > > > > config/support > >>> > >> > > > > > > > > > > > > > > > > surface. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > So I do not think > >>> this > >>> > is > >>> > >> > ready > >>> > >> > > > to > >>> > >> > > > > > move > >>> > >> > > > > > > > > forward > >>> > >> > > > > > > > > > > > as > >>> > >> > > > > > > > > > > > > > just > >>> > >> > > > > > > > > > > > > > > > > > > “another > >>> > >> > > > > > > > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > configuration > >>> option.” > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Before I would > >>> consider > >>> > >> this > >>> > >> > > > > > mergeable, I > >>> > >> > > > > > > > > think > >>> > >> > > > > > > > > > > > we > >>> > >> > > > > > > > > > > > > > need > >>> > >> > > > > > > > > > > > > > > > > > > explicit > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > agreement > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > on the contract: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 1. Is > >>> Polaris-managed > >>> > JDBC > >>> > >> > only a > >>> > >> > > > > > narrow > >>> > >> > > > > > > > > escape > >>> > >> > > > > > > > > > > > > hatch > >>> > >> > > > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > runtime-provided > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > driver jars, or a > >>> peer > >>> > >> > supported > >>> > >> > > > > > datasource > >>> > >> > > > > > > > > > > path? > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 2. Which > >>> Quarkus/Agroal > >>> > >> > > > integrations > >>> > >> > > > > > are > >>> > >> > > > > > > > > > > > > > intentionally > >>> > >> > > > > > > > > > > > > > > > not > >>> > >> > > > > > > > > > > > > > > > > > > > > available > >>> > >> > > > > > > > > > > > > > > > > > > > > > on > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > that path? > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 3. What lifecycle > >>> does > >>> > >> > Polaris > >>> > >> > > > own > >>> > >> > > > > > for > >>> > >> > > > > > > > > pools, > >>> > >> > > > > > > > > > > > > loaded > >>> > >> > > > > > > > > > > > > > > > > drivers, > >>> > >> > > > > > > > > > > > > > > > > > > > > > shutdown, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > and > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > driver upgrades? > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 4. Is this meant > to > >>> be > >>> > >> part > >>> > >> > of > >>> > >> > > > future > >>> > >> > > > > > > > > per-realm > >>> > >> > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > routing? > >>> > >> > > > > > > > > > > > > > > > > > > > > > If > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > so, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > I think that > needs a > >>> > >> separate > >>> > >> > > > design > >>> > >> > > > > > > > > > > discussion. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Until that > contract > >>> is > >>> > >> > agreed, I > >>> > >> > > > do > >>> > >> > > > > > not > >>> > >> > > > > > > > > think > >>> > >> > > > > > > > > > > we > >>> > >> > > > > > > > > > > > > > should > >>> > >> > > > > > > > > > > > > > > > > present > >>> > >> > > > > > > > > > > > > > > > > > > > > this > >>> > >> > > > > > > > > > > > > > > > > > > > > > as a > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > second supported > >>> JDBC > >>> > >> path or > >>> > >> > > > treat > >>> > >> > > > > > the PR > >>> > >> > > > > > > > > as > >>> > >> > > > > > > > > > > > > > mergeable > >>> > >> > > > > > > > > > > > > > > > > with > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > documentation > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > updates alone. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, > 2026 > >>> at > >>> > >> > 3:48 AM > >>> > >> > > > Dmitri > >>> > >> > > > > > > > > > > > Bourlatchkov > >>> > >> > > > > > > > > > > > > < > >>> > >> > > > > > > > > > > > > > > > > > > > > [email protected] > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Hi Yufei, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the > >>> update. > >>> > >> That > >>> > >> > > > > > approach to > >>> > >> > > > > > > > > > > loading > >>> > >> > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > driver > >>> > >> > > > > > > > > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > > > > > > > > > > work, I > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > think. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > However, I'm not > >>> sure > >>> > >> > whether > >>> > >> > > > it is > >>> > >> > > > > > > > > > > preferable > >>> > >> > > > > > > > > > > > > to a > >>> > >> > > > > > > > > > > > > > > > > proper > >>> > >> > > > > > > > > > > > > > > > > > > > > Quarkus > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > downstream > build. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Adding jars to > >>> Polaris > >>> > >> > still > >>> > >> > > > > > requires > >>> > >> > > > > > > > > some > >>> > >> > > > > > > > > > > form > >>> > >> > > > > > > > > > > > > of > >>> > >> > > > > > > > > > > > > > > > > downstream > >>> > >> > > > > > > > > > > > > > > > > > > > > > build, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > whether it is > >>> > tar-based > >>> > >> or > >>> > >> > > > > > docker-based. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Performing a > full > >>> > >> Quarkus > >>> > >> > build > >>> > >> > > > > > > > > downstream > >>> > >> > > > > > > > > > > > offers > >>> > >> > > > > > > > > > > > > > > some > >>> > >> > > > > > > > > > > > > > > > > > > > > advantages, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > though: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Integration > >>> tests > >>> > can > >>> > >> be > >>> > >> > > > > > executed with > >>> > >> > > > > > > > > the > >>> > >> > > > > > > > > > > > > > specific > >>> > >> > > > > > > > > > > > > > > > > driver. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Dependencies > are > >>> > >> > resolved / > >>> > >> > > > > > validated > >>> > >> > > > > > > > > at > >>> > >> > > > > > > > > > > > build > >>> > >> > > > > > > > > > > > > > > time. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Quarkus > manages > >>> the > >>> > >> > > > DataSource > >>> > >> > > > > > > > > lifecycle. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > I wonder what > >>> other > >>> > >> people > >>> > >> > > > think > >>> > >> > > > > > too. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Cheers, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Dmitri. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 6, > >>> 2026 at > >>> > >> > 9:22 PM > >>> > >> > > > > > Yufei Gu < > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Dmitri, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Good catch. > The > >>> > >> initial > >>> > >> > POC > >>> > >> > > > only > >>> > >> > > > > > > > > proved the > >>> > >> > > > > > > > > > > > > > driver > >>> > >> > > > > > > > > > > > > > > > > works if > >>> > >> > > > > > > > > > > > > > > > > > > > > it’s > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > already > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > visible to the > >>> > runtime > >>> > >> > > > > > classloader. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > I updated the > >>> > approach > >>> > >> > so the > >>> > >> > > > > > > > > > > Polaris-managed > >>> > >> > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > load > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > driver jars > >>> > explicitly > >>> > >> > before > >>> > >> > > > > > creating > >>> > >> > > > > > > > > > > > Hikari. > >>> > >> > > > > > > > > > > > > In > >>> > >> > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > binary > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > distribution, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > users can drop > >>> jars > >>> > >> into: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> server/jdbc-drivers/ > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > For admin-tool > >>> > >> > > > bootstrap/purge, > >>> > >> > > > > > the > >>> > >> > > > > > > > > same > >>> > >> > > > > > > > > > > > > applies > >>> > >> > > > > > > > > > > > > > > > under: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> admin/jdbc-drivers/ > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > They can also > >>> > override > >>> > >> > the > >>> > >> > > > > > location > >>> > >> > > > > > > > > with: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > >>> > polaris.persistence.relational.jdbc.driver-directory=/path/to/jdbc-drivers > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > So this does > not > >>> > >> depend > >>> > >> > on > >>> > >> > > > > > adding jars > >>> > >> > > > > > > > > to > >>> > >> > > > > > > > > > > > > > lib/main > >>> > >> > > > > > > > > > > > > > > or > >>> > >> > > > > > > > > > > > > > > > > > > > > rebuilding > >>> > >> > > > > > > > > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Quarkus > fast-jar > >>> > >> > metadata. > >>> > >> > > > The > >>> > >> > > > > > jar just > >>> > >> > > > > > > > > > > needs > >>> > >> > > > > > > > > > > > > to > >>> > >> > > > > > > > > > > > > > be > >>> > >> > > > > > > > > > > > > > > > > present > >>> > >> > > > > > > > > > > > > > > > > > > > > > before > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Polaris > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > creates the > >>> > >> datasource. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 6, > >>> 2026 > >>> > at > >>> > >> > > > 3:25 PM > >>> > >> > > > > > Dmitri > >>> > >> > > > > > > > > > > > > > Bourlatchkov > >>> > >> > > > > > > > > > > > > > > < > >>> > >> > > > > > > > > > > > > > > > > > > > > > [email protected] > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Yufei, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Could you > >>> provide > >>> > >> some > >>> > >> > more > >>> > >> > > > > > details > >>> > >> > > > > > > > > about > >>> > >> > > > > > > > > > > > how > >>> > >> > > > > > > > > > > > > > > > > exactly a > >>> > >> > > > > > > > > > > > > > > > > > > 3rd > >>> > >> > > > > > > > > > > > > > > > > > > > > > party > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > driver is > >>> > >> incorporated > >>> > >> > into > >>> > >> > > > > > Polaris? > >>> > >> > > > > > > > > I > >>> > >> > > > > > > > > > > > might > >>> > >> > > > > > > > > > > > > > have > >>> > >> > > > > > > > > > > > > > > > > missed > >>> > >> > > > > > > > > > > > > > > > > > > that > >>> > >> > > > > > > > > > > > > > > > > > > > > > in > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > PR, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > but it was > not > >>> > >> > apparent to > >>> > >> > > > me > >>> > >> > > > > > at > >>> > >> > > > > > > > > first > >>> > >> > > > > > > > > > > > > reading. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitri. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul > 6, > >>> > 2026 > >>> > >> at > >>> > >> > > > 6:22 PM > >>> > >> > > > > > Yufei > >>> > >> > > > > > > > > Gu < > >>> > >> > > > > > > > > > > > > > > > > > > > > [email protected]> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi all, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > I put > >>> together a > >>> > >> > small > >>> > >> > > > POC( > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > https://github.com/apache/polaris/pull/4984 > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > ) > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > >>> relational > >>> > >> JDBC > >>> > >> > > > backend > >>> > >> > > > > > so > >>> > >> > > > > > > > > Polaris > >>> > >> > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > > > create > >>> > >> > > > > > > > > > > > > > > > > its > >>> > >> > > > > > > > > > > > > > > > > > > own > >>> > >> > > > > > > > > > > > > > > > > > > > > > JDBC > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > from > config, > >>> > >> instead > >>> > >> > of > >>> > >> > > > > > always > >>> > >> > > > > > > > > relying > >>> > >> > > > > > > > > > > on > >>> > >> > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > Quarkus > >>> > >> > > > > > > > > > > > > > > > > > > > > > datasource. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > The config > >>> looks > >>> > >> like > >>> > >> > > > this: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > >>> polaris.persistence.relational.jdbc.jdbc-url=jdbc:postgresql://... > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > polaris.persistence.relational.jdbc.driver=org.postgresql.Driver > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> polaris.persistence.relational.jdbc.username=... > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> polaris.persistence.relational.jdbc.password=... > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > If > jdbc-url > >>> is > >>> > >> set, > >>> > >> > > > Polaris > >>> > >> > > > > > > > > creates and > >>> > >> > > > > > > > > > > > > owns > >>> > >> > > > > > > > > > > > > > > the > >>> > >> > > > > > > > > > > > > > > > > Hikari > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > datasource. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > If > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > it > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > is not > set, > >>> we > >>> > >> keep > >>> > >> > > > using the > >>> > >> > > > > > > > > existing > >>> > >> > > > > > > > > > > > > > Quarkus > >>> > >> > > > > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > > > > path. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > I also > added > >>> > tests > >>> > >> > > > showing > >>> > >> > > > > > that: > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > - We > can > >>> > create > >>> > >> > > > > > datasources > >>> > >> > > > > > > > > > > > dynamically > >>> > >> > > > > > > > > > > > > > from > >>> > >> > > > > > > > > > > > > > > > > config > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > - > >>> Different > >>> > >> > > > > > configurations can > >>> > >> > > > > > > > > > > create > >>> > >> > > > > > > > > > > > > > > > > independent > >>> > >> > > > > > > > > > > > > > > > > > > > > > datasources, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > which > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > could > >>> help > >>> > >> future > >>> > >> > > > > > per-realm > >>> > >> > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > support > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > - A > JDBC > >>> > driver > >>> > >> > can be > >>> > >> > > > > > supplied > >>> > >> > > > > > > > > at > >>> > >> > > > > > > > > > > > > runtime > >>> > >> > > > > > > > > > > > > > > > from > >>> > >> > > > > > > > > > > > > > > > > a > >>> > >> > > > > > > > > > > > > > > > > > > jar > >>> > >> > > > > > > > > > > > > > > > > > > > > > instead > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > of > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > being > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > on the > >>> > >> build-time > >>> > >> > > > > > classpath. > >>> > >> > > > > > > > > This is > >>> > >> > > > > > > > > > > > > very > >>> > >> > > > > > > > > > > > > > > > > helpful > >>> > >> > > > > > > > > > > > > > > > > > > for > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > proprietary > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > and > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Apache > >>> > >> > > > > > license-incompatible > >>> > >> > > > > > > > > drivers, > >>> > >> > > > > > > > > > > > > like > >>> > >> > > > > > > > > > > > > > > > MySQL. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > This POC > >>> does > >>> > not > >>> > >> yet > >>> > >> > > > > > implement > >>> > >> > > > > > > > > full > >>> > >> > > > > > > > > > > > > > per-realm > >>> > >> > > > > > > > > > > > > > > > > > > datasource > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > routing. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > It > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > only > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> demonstrates the > >>> > >> > > > lower-level > >>> > >> > > > > > > > > building > >>> > >> > > > > > > > > > > > > blocks: > >>> > >> > > > > > > > > > > > > > > > > Polaris > >>> > >> > > > > > > > > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > > > > > > > > > > create > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > managed > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > JDBC pools > >>> from > >>> > >> > config, > >>> > >> > > > > > multiple > >>> > >> > > > > > > > > pools > >>> > >> > > > > > > > > > > > can > >>> > >> > > > > > > > > > > > > be > >>> > >> > > > > > > > > > > > > > > > > created > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > independently, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > and > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > the JDBC > >>> driver > >>> > >> can > >>> > >> > be > >>> > >> > > > > > supplied at > >>> > >> > > > > > > > > > > > runtime. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Feedback > is > >>> > >> welcome > >>> > >> > > > before I > >>> > >> > > > > > turn > >>> > >> > > > > > > > > this > >>> > >> > > > > > > > > > > > > into a > >>> > >> > > > > > > > > > > > > > > > > formal > >>> > >> > > > > > > > > > > > > > > > > > > PR. > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks, > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yufei > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > > > > >>> > >> > > > > > > >>> > >> > > > > > > >>> > >> > > > > >>> > >> > > >>> > >> > >>> > > > >>> > > >>> > >> >
