--
You received this message because you are subscribed to the Google Groups "jOOQ User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jooq-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jooq-user/e7a4c55d-1ec8-5bfe-4745-dc36432b019f%40mpierce.org.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to jooq...@googlegroups.com.
Huh, interesting. I'd never heard about either R2DBC or ADBA.
When libraries claim to be asynchronous or non-blocking, half of them just run all blocking calls in a background threadpool/FJPool and give you a nice "asynchronous" API for your "user code". While this might be good for convenience and pretty APIs, they often actually increase resource utilization (e.g elevate thread counts) and make them actually harder to manage! They're usually still 1 blocked thread per connection or inflight query.
"Real" asynchronous libraries use slightly more advanced facilities (epoll/nio/netty) to "batch" blocking IO calls and manage many more connections with a fixed 1 or 2 threads. One to two threads can send/receive on ALL sockets or connections efficiently and update all futures.
I can't tell from those project pages which approach they are taking. I understand that Jooq will probably operate in a level agnostic to those details but when talking about Flow or CompletableFuture API's it sorta emphasizes API ecosystems and doesn't seem to address implementation/architecture.
At some point, we'll get this "right", even in Java. And I have a lot more hopes for project Loom than for these API driven solutions, because solving asynchronicity and reactiveness with APIs alone is going to clutter client code with tons of uninteresting and difficult to reason about infrastructure code. This is also something Oracle is thinking about. Should they push ADBA and make it *both* asynchronous (CompletionStage) and reactive (Flow), or should they bet on upgrading JDBC through Loom? Because if Loom keeps up with its promises, using JDBC in a coroutine style way seems *much* more compelling than relying on new SPIs and APIs.
--
You received this message because you are subscribed to the Google Groups "jOOQ User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jooq-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jooq-user/f3376231-a23a-4078-bbde-9da194664f8f%40googlegroups.com.