You can now also try out early implementations of some new capabilities in the latest Open Liberty development builds :

These early implementations are not available in 19.0.0.2 but you can try them out by downloading the latest Open Liberty development build . Let us know what you think!

To enable the MicroProfile Concurrency 1.0 feature in your server.xml :

It should be noted that this implementation does not yet include thread context capture & propagation for CDI context, but other context types should be working.

MicroProfile Concurrency provides completion stages that run with predictable thread context that also benefit from being backed by the automatically-tuned Liberty global thread pool. Configuration of concurrency constraints and context propagation is possible programmatically with builders as well as by CDI annotations which can be overriden via MicroProfile Config.

MicroProfile Concurrency allows you to create completion stages that run with predictable thread context regardless of which thread the completion stage action ends up running on.

Support for Oracle Universal Connection Pool (UCP) (JDBC 4.x)

Support for Oracle Universal Connection Pool (UCP) has been implemented in latest Open Liberty development build. Oracle UCP is a connection pool which can be used in place of Open Liberty’s connection pool to take advantage of Oracle’s high availability functionality.

Using Oracle UCP is now supported with Liberty in the 19.0.0.2 beta. This will allow users of Oracle Real Application Clusters (RAC) to take advantage of Oracle’s high availability and performance functionality such as Fast Connection Failover (FCF), Fast Application Notification (FAN) and Oracle Notification Services (ONS).

To use Oracle UCP with Liberty add one of the JDBC features to server.xml :

<featureManager> <feature> jdbc-4.2 </feature> <feature> jndi-1.0 </feature> </featureManager>

Also add to the server.xml a library referencing the UCP jar and Oracle JDBC driver (both of which can be obtained from Oracle):

<library id = " OracleUCPLib " > <fileset dir = " C:/Oracle/Drivers " includes = " ojdbc8.jar ucp.jar " /> </library>

And add a datasource using the new properties.oracle.ucp element:

<dataSource id = " DefaultDataSource " jndiName = " jdbc/oracleUCP " type = " javax.sql.XADataSource " > <jdbcDriver libraryRef = " OracleUCPLib " /> <containerAuthData user = " user " password = " pwd " /> <properties.oracle.ucp URL = " jdbc:oracle:thin:@//localhost:1521/SAMPLEDB " connectionFactoryClassName = " oracle.jdbc.xa.client.OracleXADataSource " /> </dataSource>

Add any desired config (such as maxPoolSize or fastConnectionFailoverEnabled ) to the properties.oracle.ucp element. It is important to note that when using Oracle UCP, Open Liberty’s connection pooling is disabled. As a result, the following data source properties are ignored: statementCacheSize and validationTimeout . The following connection manager properties are also ignored: agedTimeout , connectionTimeout , maxIdleTime , maxPoolSize , minPoolSize , purgePolicy , reapTime , maxConnectionsPerThread , maxConnectionsPerThreadLocal . Use the equivalent Oracle UCP functionality.

The standard JDBC APIs can be used to access the datasource.