What Are The Promised Exciting Things
In my previous post, I referred to exciting new features in the upcoming DB21c JDBC drivers and the availability of the bits by early January. Here we are, past mid-January, so what are those so-called exciting things?
The new features can be grouped under the following categories: support for popular Java frameworks, performance and scalability, support for cloud native applications, diagnosability and tracing.
In this blog post, I will only give a bullet list; if you are interested in a specific feature please read my technical brief titled "What's in DB21c for Java Developers".
Support for Java Frameworks
- UCP as JBoss Datasource: the Universal Connection Pool (UCP) has a new Java class for seamless integration with JBoss using CDI
- UCP as a Spring datasource; settings the configuration in the application properties file
Performance and Scalability
- Drivers support for Virtual Threads (project Loom)
- Reactive Extensions in the JDBC driver, built-on the standard Java Flow Subscriber and Publisher types allowing asynchronous database access with back-pressure support. The extension can interoperate with the popular reactive streams libraries. For use with JDK 9 and up.
- Pre-configured for GraalVM Native Image
- A Sharding datasource allowing to access a Sharded database without explicitly furnishing and building the Sharding key
- A Reactive Streams Ingestion (RSI) library furnishing a faster path for high-speed ingestion of large volume of streaming data into the Oracle database; comes as a separate jar file (rsi.jar) for use with JDK 9 and up.
Support for Cloud Native Applications
- JDBC support for native JSON type and binary format storage through the oracle.sql.json package
- Loading Wallet from non-file system (i.e., memory, etc)
- JDBC and UCP configuration with Microservices frameworks (the technical brief has links to each framework).
Diagnosability and Tracing
- In the previous releases, ClientInfo and Dynamic Monitoring System (DMS) metrics were generated using the instrumented DMS jars.
- In this release you may set a connection identifier for logging, using a name/value pair in the JDBC connect string (CONNECTION_ID =<value>)
The Bill of Material and Flavor POM files
Since the 18.104.22.168 release, you can pull a specific or multiple artifacts using the BOM file; alternatively, you can pull pulling a pre-defined set of all the artifacts that you might need for production, debugging, observability and debugging with observability.
The Bill of Material (BOM)
The full list of JDBC DB 22.214.171.124 artifacts can be found here. That list is made of the core artifacts and the companion ones.
- The core artifacts, only one at a time, cannot be mixed, are: ojdbc8, ojdbc8_g, ojdbc8dms, ojdbc8dms_g, ojdbc11, ojdbc11_g, ojdbc11dms and ojdbc11dms_g
- The companion artifacts, that may be used with any of the core artifacts, are: ucp, oraclepki, osdt_core, osdt_cert, ons, simplefan, xdb, xmlparserv2, orai18n, dms, and rsi.
The Predefined Flavor POMs
ojdbc11-production, ojdbc11-debug, ojdbc11-observability, ojdbc11-observability-debug: these artifacts are built/compiled with JDK 11, support the JDBC 4.3 Spec and for use with JDK 11, 12, 13, 14 and 15.
ojdbc8-production, ojdbc8-debug, ojdbc8-observability, ojdbc8-observability-debug: these artifactIds are built/compiles with JDK 8, support the JDBC 4.2 Spec and for use with JDK 8, 11, 12, 13, 14 and 15.
Developers Guide for Oracle JDBC on Maven Central
Please refer to our Developers guide for Oracle JDBC on Maven Central and the 126.96.36.199 blog post for a full description of each artifact (replace ojdbc10 with ojdbc11) - except rsi.jar described briefly above (see the technical brief for more details).
Watch This Space
I have also promised the availability of the first drop of the Oracle-R2DBC driver; the bits are ready but we need to clear some legal & security sign-off. Late January is a good expectation.
Watch @kmensah for notifications.