2 What’s New in this Release

Learn about the features, enhancements, and changes made to Oracle Coherence.Oracle updates the release notes periodically after the software release. This document is accurate at the time of publication.

This chapter includes the following sections:

New Features

This section contains new features for Oracle Coherence that are organized by release.

New and Improved for 14.1.1.2206

  • Java Modules Support - You can now run Coherence using Java modules. See Using Java Modules to Build a Coherence Application in Developing Applications with Oracle Coherence.
  • Core Improvements
    • NamedMap API - A distributed implementation of java.util.Map interface. See Performing Basic Cache Operations in Developing Applications with Oracle Coherence.
    • Bootstrap API - The new bootstrap API enables you to configure and start a Coherence application by building a com.tangol.net.Coherence instance and starting this instance. See Using the Bootstrap API in Developing Applications with Oracle Coherence.
    • Repository API - The Coherence Repository API provides you with a higher-level, DDD-friendly way to access data managed in Coherence. See Using the Repository API in Developing Applications with Oracle Coherence.
    • Caffeine - Coherence now adds a Caffeine backing map implementation, enabling you to use Caffeine wherever the standard Coherence local cache can be used. See Integrating Caffeine in Developing Applications with Oracle Coherence.
    • Partition Events Logging - This feature enables logging of partition unavailable duration when the partition events occur. For example, during partition movements between members. See Logging Partition Events in Developing Applications with Oracle Coherence.
    • Non-Blocking Data Sources - The new NonBlockingEntryStore enables cache stores to respond asynchronously when mutations are made to entries. See Non-Blocking Data Sources in Developing Applications with Oracle Coherence.
    • Remote Client MEMBER_JOINED and MEMBER_LEFT MemberEvents - A proxy now sends MEMBER_JOINED and MEMBER_LEFT MemberEvents to all active services on the proxy when a remote client joins and leaves. This event enables management of a service’s server side resources being retained per remote client. If a MemberListener is registered on a service and the environment has both remote and cluster member access to a service, the MemberListener may need to account for remote client MemberEvent(s). For example, see Example 8-3 in Listening to Member Events section in Developing Applications with Oracle Coherence.
    • Scheduled Backups - Writing asynchronous backups has been enhanced to enable scheduling of these backups at a time interval after the primary has been written. See Scheduling Backups in Developing Applications with Oracle Coherence.
    • Read Locator - Coherence now allows for certain requests for data to be targeted to non-primary partition owners (backups) to balance request load or reduce latency. See Using the Read Locator in Developing Applications with Oracle Coherence.
    • Cache Configuration Override - Similar to the Coherence Cluster override, you can now specify a cache configuration override to override elements of existing cache configuration with new elements at runtime. See Using Cache Configuration Override in Developing Applications with Oracle Coherence.
    • BigDecimal-related aggregators - These aggregators now support the ability to set BigDecimal properties such as scale, rounding mode, stripTrailingZeros, and MathContext (where applicable) for the final result. See Java API Reference for Oracle Coherence.
    • Durable Events (Experimental) - Coherence now supports an experimental feature which allows missed MapEvents to be replayed when a client disconnects. See Using Durable Events (Experimental) in Developing Applications with Oracle Coherence.
  • Topics Improvements
    • A number of durability and stability improvements have been applied to make topics more stable during fail-over.
    • Topics now guarantee at least once delivery, where as in previous releases this was not the case. A subscriber that is part of a group can commit a processed message to indicate that processing is complete and it should not be redelivered on fail-over.
    • Topic channels are now fairly allocated to the subscribers in a subscriber group; only a single subscriber receives messages from an allocated channel.
    • Subscribers will be timed-out after a configurable period of inactivity (or failure to heartbeat) causing their channels to be reallocated to remaining subscribers in the same group.
    • Added API methods to determine the number of unreceived elements for a NamedTopic subscriber or subscriber group.
    See Using Topics in Developing Applications with Oracle Coherence.
  • Persistence
    • Persistent Backups - You can now enable and configure persistent backups which stores backup partitions on a disk, as additional copies of persisted primary one. See Using Persistent Backups in Developing Applications with Oracle Coherence.
    • Parallel Recovery - The parallel recovery feature enables Coherence to recover data in parallel within a member/process as well as in parallel across the cluster. See Parallel Recovery in Administering Oracle Coherence.
  • Distributed Concurrency - The Coherence Concurrent module provides distributed implementations of the concurrency primitives from the java.util.concurrent package such as executors, atomics, locks, semaphores, and latches. See Implementing Concurreny in a Distributed Network in Developing Applications with Oracle Coherence.
  • Serialization/ POF
    • Portable Types and POF Maven Plug-in - This release introduces Portable Types, which provide a way to add support for POF serialization to your classes by using annotations and without the requirement to implement serialization code by hand. See Using Portable Object Format in Developing Applications with Oracle Coherence.
    • POF Configuration Discovery - It is now possible to make POF configuration files discoverable at runtime by the ConfigurablePofContext class instead of needing to put them inside <include> elements. See Making POF Configuration Files Discoverable at Runtime in Developing Applications with Oracle Coherence.
  • Integrations
    • Internal
      • CDI Support - Coherence provides support for Contexts and Dependency Injection (CDI) within the Coherence cluster members to inject Coherence-managed resources, such as NamedMap, NamedCache, and Session instances into CDI managed beans. See Using Contexts and Dependency Injection in Developing Applications with Oracle Coherence.
      • MicroProfile Configuration - Coherence MicroProfile (MP) Configuration provides support for Eclipse MicroProfile Configuration within Coherence cluster members. See Using Coherence MicroProfile Configuration in Integrating Oracle Coherence.
      • MicroProfile Metrics - Coherence MicroProfile Metrics provides support for Eclipse MicroProfile Metrics within the Coherence cluster members. See Using Coherence MicroProfile Metrics in Integrating Oracle Coherence.
    • External
      • Helidon - Coherence can be integrated with Helidon through Contexts and Dependency Injection (CDI). See Helidon.
      • GraphQL Support through Helidon - Using Helidon integration, you can enable access to Coherence data from GraphQL. See GraphQL.
      • Kafka - Coherence can now integrate with Kafka using Kafka Entry Store and Kafka Sink Connector. See Kafka.
      • Micronaut - Coherence now provides integration to Micronaut. See Micronaut Coherence.
      • Hibernate - Updated support for Coherence integration with Hibernate. See Integrating Hibernate and Coherence in Integrating Oracle Coherence.
      • Spring - Coherence can be integrated with Spring, which is a platform for building and running Java-based enterprise applications. See Integrating Spring with Coherence in Integrating Oracle Coherence.
  • gRPC - Coherence introduces the ability to use gRPC to access Coherence caches. See Introduction to gRPC.
    • gRPC Proxy - A new Coherence gRPC proxy implementation of the services defined within the Coherence gRPC module. See Using the Coherence gRPC Server in Developing Remote Clients for Oracle Coherence.
    • gRPC Java Client - The Coherence Java gRPC Client is a library that enables a Java application to connect to a Coherence gRPC proxy server. See Using the Coherence Java gRPC Client in Developing Remote Clients for Oracle Coherence.
  • Clients
    • JavaScript Client - The Coherence JavaScript Client allows Node applications to act as cache clients to a Coherence Cluster using gRPC framework as the network transport. See Coherence JavaScript Client.
    • Go Client - The Coherence Go Client allows native Go applications to act as cache clients to a Coherence cluster using gRPC for the network transport. See Coherence Go Client.
    • Python Client - The Coherence Python Client allows Python applications to act as cache clients to an Oracle Coherence cluster using gRPC as the network transport. See Coherence Python Client.
    • Client for .NET Core - Coherence introduces a new client supporting .NET Core 3.1 and .NET Standard 2. See Oracle Coherence for .NET.
  • Security: SSL Improvements - Various SSL improvements that enable more flexible configuration and allow customizations through extensions. See Using Private Key and Certificate Files and Using Custom Keystore, Private Key, and Certificate Loaders in Securing Oracle Coherence.
  • Management/Administration
    • Coherence Metrics - Additional dependencies are no longer required when using the coherence-metrics module. See Using Oracle Coherence Metrics in Managing Oracle Coherence.
    • Coherence Management over REST - The dependencies required to enable Management over REST have been reduced significantly. The only additional dependency required to enable management over REST is coherence-json.jar. See REST API for Managing Oracle Coherence.
    • Health Check API - A new health check API to enable application code to determine the health of the local Coherence member. See Using the Health Check API in Managing Oracle Coherence.
    • Micrometer Metrics - The coherence-micrometer module provides integration between Coherence metrics and Micrometer allowing Coherence metrics to be published through any of the Micrometer registries. See Using Coherence Micrometer Metrics in Managing Oracle Coherence.
    • New Reports - Executor, View, Storage, and Proxy Connections - See Understanding the Executor Report, Understanding the View Report, Understanding the Cache Storage Report, and Understanding the Proxy Connections Report in Managing Oracle Coherence.
    • New ExecutorMBean - Provides statistics for the executor services that run in a cluster. See ExecutorMBean in Managing Oracle Coherence.
    • New ViewMBean - Provides statistics for view caches that run in a cluster. See ViewMBean in Managing Oracle Coherence.
    • New HealthMBean - Provides information about health checks configured in a cluster. See HealthMBean in Managing Oracle Coherence.
    • ServiceMBean - Additional attributes added to the ServiceMBean track Persistent Backups storage utilization. See ServiceMBean in Managing Oracle Coherence.
    • StorageManagerMBean - Additional attributes added to StorageManagerMBean to show Indexing Total Millis and Index Total Units. See StorageManagerMBean in Managing Oracle Coherence.
    • Persistence and Persistence Detail Reports - Additional columns added to these reports. See Understanding the Persistence Detail Report and Understanding the Persistence Report in Managing Oracle Coherence.
    • WKA Improvements - Added the ability to provide a comma-separated list of addresses when specifying a Well Known Address (WKA). See Using Well Known Addresses.
    • Coherence Operator - A number of major enhancements have been made to the Coherence Operator. See Coherence Operator.
    • Coherence VisualVM Plug-in - Updates have been made to support new functionalities added in 14.1.1.2206. See Coherence VisualVM Plugin Releases.
    • Coherence CLI - Updates have been made to support new functionalities added in 14.1.1.2206. See Coherence CLI Release.
  • Federation - Additional attributes added to Origin and Destination MBeans to show errors and replication estimation. See OriginMBean and DestinationMBean in Managing Oracle Coherence.
  • Examples - Coherence guides and tutorials are now hosted on the Coherence GitHub Repository and are documented here: Examples - Guides & Tutorials Overview.

New and Improved for 14.1.1.0

  • Topics - Topics introduces a publish and subscribe messaging functionality in Oracle Coherence. See Using Topics in Developing Applications with Oracle Coherence.

  • OpenTracing - The OpenTracing tool helps you diagnose unexpected latencies involved in request processing. See Distributed Tracing in Developing Applications with Oracle Coherence.
  • Asynchronous Persistence Mode - Asynchronous persistence mode allows the storage servers to persist data asynchronously. See Using Asynchronous Persistence in Developing Applications with Oracle Coherence.
  • Oracle GraalVM Enterprise Edition Certification - Oracle Coherence 14.1.1.0 is certified to run on Oracle GraalVM Enterprise Edition, a high performance runtime platform built on Oracle's enterprise-class Java SE. See Running Oracle WebLogic Server and Coherence on GraalVM Enterprise Edition.
  • Polyglot Coherence Applications - These applications allow writing server side objects such as EntryProcessor, Filter, Aggregator, and so on in JavaScript, and running Coherence using Oracle GraalVM Enterprise Edition. See Developing Polyglot Coherence Applications in Developing Applications with Oracle Coherence.

Deprecated Features

Learn about the deprecated and desupported features of Oracle Coherence.

This section includes the following topics:

Deprecated Features for 14.1.1.2206

A brief description of the deprecated features for 14.1.1.2206.

This section includes the following topics:

VisualVM Plug-In Shipped with Installer

The Coherence VisualVM plug-in shipped with the installer is deprecated. You should use the open-source plug-in available through the VisualVM tool. For more information about this plug-in, see Using the Coherence VisualVM Plug-In in Managing Oracle Coherence.

Coherence Metrics 'vendor:coherence_' Prefix

When retrieving metrics from the Coherence metrics endpoint in text (Prometheus) format, the metrics name prefix vendor:coherence_ is deprecated. The default name format has been changed to remove vendor: so that all metric names just have the prefix coherence_.

Note:

To ensure compatibility with the existing Grafana Dashboards, this new format has not yet been enabled by default. The legacy vendor: prefix is still generated for metric names.
Examples Shipped with the Installer

The examples shipped with the installer are now deprecated. Use the Coherence guides and tutorials hosted on GitHub. See Running the Coherence Examples.

Deprecated Features for 14.1.1.0

A brief description of the deprecated features for 14.1.1.0.

This section includes the following topics:

WebLogic Server Multitenant Functionality

Coherence support for WebLogic Server Multitenancy feature is deprecated because this feature is now not supported in WebLogic Server. See Removed Functionality and Components in What's New in Oracle WebLogic Server.

Reduced HTTP Server Support

For production environments, Coherence REST supports implementations only for the Netty HTTP server. Support for the following servers is deprecated:

  • Simple HTTP Server
  • Jetty HTTP Server
  • Grizzly HTTP Server

For more information about Netty HTTP Server, see Using Netty HTTP Server in Developing Remote Clients for Oracle Coherence.

Classes in <com.oracle.common.base>

The classes in <com.oracle.common.base> have been deprecated. These classes are now relocated to an area within the coherence namespace (<com.oracle.coherence>).