2 What’s New in this Release

Learn 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:

2.1 New Features

This section contains new features for Oracle Coherence that are organized by release. The features in this release help reduce complexity, ease configuration, and accelerate time to market of scalable solutions.

New and Improved for 12.2.1.3.0

  • Revised Active-Active Federation Configuration – The new <active-active> configuration element is used to define active-active federation topologies. See Defining Active-Active Topologies in Administering Oracle Coherence.

  • Global Consistent Snapshots – A snapshot can be created either on a running service (a service that is accepting and processing requests) or on a suspended service. The former provides consistency at a partition level while the latter provides global consistency. See Create a Snapshot in Administering Oracle Coherence.

  • HotCache Enhancements – Coherence includes new HotCache functionality. The functionality includes:

    • HotCache multi-threading – HotCache can use multiple threads to apply trail file operations to Coherence caches. Multiple threads can increase the throughput of a HotCache process as compared to using a single thread to apply trail file operations. See Configuring Multi-Threading in HotCache in Integrating Oracle Coherence.

    • HotCache Multitenant mode – HotCache can refresh caches for specific tenants. In Multitenant mode, a tenant identifier is used in conjunction with a Coherence scope name to ensure that HotCache only refreshes caches for a specified tenant. See Using HotCache Multitenant Mode in Integrating Oracle Coherence.

    • HotCache JMX management – HotCache includes management data for monitoring the performance of cache update operations. See Managing HotCache in Integrating Oracle Coherence.

New and Improved for 12.2.1.2.0

  • Custom Federation Participants – Custom participants allow applications to federate data to multiple non-Coherence end-points or resources. For example, cache data can be federated to a database, message bus, log file, and so on. Custom participants are implemented as event interceptors and are configured as part of a federation topology. See Federating Events to Custom Participants in Administering Oracle Coherence.

  • HotCache Enhancements – Coherence includes new HotCache functionality. The functionality includes:

    • HotCache JPA properties – JPA properties can be used to configure HotCache behavior. See Configuring HotCache JPA Properties in Integrating Oracle Coherence.

    • Warming Caches – HotCache can be used to warm caches by loading an initial dataset. See Warming Caches with HotCache in Integrating Oracle Coherence.

    • Support for Oracle SDO_GEOMETRY and XMLType types – Oracle-specific data types that are supported by EclipseLink can be used by HotCache. See Support for Oracle Data Types in Integrating Oracle Coherence.

New and Improved for 12.2.1.1.0

  • Dynamic Active Persistence Quorum Policy – The dynamic recovery quorum policy is used with active persistence and automatically configures the persistence recovery quorum based on a predefined algorithm. See Using the Dynamic Recovery Quorum Policy in Administering Oracle Coherence.

  • Simplified Federation Participant Configuration – An address port is no longer required when configuring Federation participants. See Defining Federation Participants in Administering Oracle Coherence.

  • Federation Support for Read-Through Caching – Cache entries that are loaded into a cache using a CacheStore implementation can now be federated across clusters. See Plugging in a Cache Store Implementation in Developing Applications with Oracle Coherence.

  • Updated Federation Management – The DestinationMBean MBean now includes management information for replicateAll operations. See DestinationMBean in Managing Oracle Coherence.

  • Federating HTTP Sessions – HTTP Session caches can now be federated. See Federated Session Caches in Administering HTTP Session Management with Oracle Coherence*Web.

  • Disabling Federation – Federated caching can be disabled for specific caches. See Excluding Caches from Being Federated in Administering Oracle Coherence.

  • Coherence Session API – The Coherence Session API provides applications with a new way to get a reference to a NamedCache instance. See Getting a Cache Instance in Developing Applications with Oracle Coherence.

  • HTTP Acceptor Management – Management information is now provided for proxy servers and includes the number of connections across each proxy server and the total messages that were sent and received. Management attributes are included on the ConnectionManagerMBean MBean and are viewable on the Proxy HTTP Report and the HTTP Servers tab in the Coherence-JVisualVM Plug-in. See Understanding the Proxy HTTP Report in Managing Oracle Coherence.

  • Two Member Partition Assignment – The default partition assignment strategy now uses an active-passive distribution algorithm for clusters with only two storage-enabled members. The algorithm provides optimal distribution for SEOne use cases. See Changing the Partition Distribution Strategy in Developing Applications with Oracle Coherence.

  • Simplified Persistence and Federation in WebLogic Server – Persistence and federation can now be configured in the WebLogic Server Administration Console or using WebLogic Server MBeans. See Configuring Cache Persistence and Configuring Cache Federation, respectively in Administering Clusters for Oracle WebLogic Server.

  • Zero Down-Time Support – Coherence Applications that are deployed in WebLogic Server can now participate in zero down-time patching. See the options argument in Using WLST to Initiate and Monitor Workflows in Administering Zero Downtime Patching Workflows.

  • IBM WebSphere Liberty Support – Coherence*Web supports IBM WebSphere Liberty 8.5 and higher. Support for all other IBM WebSphere versions has been removed. See Supported Web Containers in Administering HTTP Session Management with Oracle Coherence*Web.

New and Improved for 12.2.1.0.0

  • Persistence – Coherence persistence is a set of tools and technologies that manage the persistence and recovery of Coherence distributed caches. Cached data is persisted so that it can be quickly recovered after a catastrophic failure or after a cluster restart due to planned maintenance. See Persisting Caches in Administering Oracle Coherence.

  • Federated Caching – Federated caching replicates and synchronizes cache data across multiple geographically dispersed clusters. Cached data is replicated across clusters to provide redundancy, off-site backup, and multiple points of access for application users in different geographical locations. See Replicating Caches Across Clusters in Administering Oracle Coherence.

  • Security Enhancements – Coherence includes new security functionality. The functionality includes:

  • Support for Java 8 Features – The Coherence API has been updated so that you can use programming features that were introduced in the Java 8 release. The features include lambda, streams, and default methods. These features provide ease of use and flexibility when performing data grid operations. See Support for Java 8 Features in Developing Applications with Oracle Coherence.

  • Support for Generics – Java Generics provide compile and runtime type checking together with compile type-inference. The Coherence API has been refactored to support Java Generics. In addition, types can be explicitly configured as part of the NamedCache API. See Support for Generics in Developing Applications with Oracle Coherence.

  • Cluster Port and Address Management – Port and address selection has been changed to simplify cluster management and to allow the sharing of cluster ports and addresses among multiple clusters. For most use cases, ports and addresses do not need to be explicitly set.

    • Coherence port selection has been simplified to facilitate port management. Coherence now includes a common cluster port that is used for multicast communication, well known addresses, and extend proxies that are using the name service. In addition, unicast ports are automatically assigned. See Setting Up a Cluster in Developing Applications with Oracle Coherence and Configuring Extend Proxies in Developing Remote Clients for Oracle Coherence.

    • Coherence address selection has been simplified to facilitate address management. For unicast communication, Coherence automatically selects a routable IP with the highest MTU for computers that have multiple IPs or NICs. For well known addresses, Coherence selects the IP which is routable to the IPs on the WKA list. In addition, Coherence can now automatically resolve IP addresses (at runtime) that are associated with a DNS name. Well known addresses and proxy addresses can be stored in a DNS server and centrally managed and updated in real time. See Setting Up a Cluster in Developing Applications with Oracle Coherence.

  • Multitenancy – Coherence applications that are deployed using managed Coherence servers can take full advantage of the density and operational efficiencies that are provided by Weblogic Server Multitenant. Coherence features include: isolating caches across domain partitions, sharing caches across domain partitions, and tooling support exposed through WLST and Fusion Middleware Control. See Configuring Coherence in Using Oracle WebLogic Server Multitenant.

  • Asynchronous NamedCache API – The AsyncNameCache interface allows cache operations to be completed in parallel and can improve throughput and result in more responsive user interfaces. See Performing NameCache Operations Asynchronously in Developing Applications with Oracle Coherence.

  • Truncate Operation – The truncate method on the NamedCache interface clears a cache but does not raise any entry-level cache events. This new API significantly reduces the memory pressure on the server side and dramatically reduces the network consumption for caches with listeners and is especially beneficial for near caching. See Clearing Caches in Developing Applications with Oracle Coherence.

  • Sliding Expiry – Sliding expiry extends the expiry of cache entries that are being accessed. Sliding expiry is enabled by default for cache entries that are updated, but can also be enabled based on read operations and operations that are non-mutative. See Capacity Planning in Developing Applications with Oracle Coherence.

  • Dynamic Management Mode – Dynamic management elects one of the nodes in the cluster to be the management node. This is the default management mode for managed Coherence servers. Cluster members no longer need to be explicitly configured for JMX management. See Using Dynamic Management Mode in Managing Oracle Coherence.

  • Dynamic Thread Pools – All Coherence services use dynamically sized daemon thread pools. Dynamic thread pools are enabled by default and are configured for a service using the <thread-count-max> and <thread-count-min> elements when defining a cache scheme.

  • Coherence-JVisualVM Plug-In – A new version of the Coherence-JVisualVM plug-in is available and includes new functionality. The functionality includes: reporting node state, displaying near cache statistics, displaying partition statistics, managing cache persistence, and managing federated caching. See Using the Coherence-JVisualVM Plug-In in Managing Oracle Coherence.

  • Coherence CohQL – New functionality is included in Coherence CohQL. The functionality includes: support for loading GAR modules, support for WLS Multitenant, and support for cache persistence. See Using Coherence Query Language in Developing Applications with Oracle Coherence.

  • Server-Sent Events – Server-sent events allow Coherence REST applications to automatically receive cache events from the Coherence cluster. See Using Server-Sent Events in Developing Remote Clients for Oracle Coherence.

  • Log4J 2 support – Coherence logging can be configured to use Log4J 2 logging. See Using Log4J 2 Logging for Coherence Logs in Developing Applications with Oracle Coherence.

2.2 Deprecated Features

This section describes the deprecated and desupported features of Oracle Coherence.

This section includes the following topics:

2.2.1 BACKUP CACHE and RESTORE CACHE

The BACKUP CACHE and RESTORE CACHE commands in CohQL are deprecated. A new set of snapshot commands has been provided for use with the new the persistence feature. See Persisting Cache Data to Disk in Developing Applications with Oracle Coherence.

2.2.2 Managed Coherence Server MBean Attributes

The following MBean attributes are deprecated in Managed Coherence Server:

  • CoherenceClusterParamsBean.UnicastListenPort

  • CoherenceClusterParamsBean.UnicastPortAutoAdjust

  • CoherenceClusterParamsBean.MulticastListenPort

  • CoherenceClusterWellKnownAddressBean.ListenPort

The following deprecated MBean attribute is removed:

  • CoherenceClusterParamsBean.UnicastListenAddress

2.2.3 Coherence*Web Container Support

Coherence*Web no longer supports the following web containers: Apache Tomcat 5.5.n, Apache Tomcat 6.0.n, Caucho Resin 3.1.n, IBM WebSphere 5.n, IBM WebSphere 6.n, IBM WebSphere 7.n, Sun GlassFish 2.n, Sun Application Server 8.n, Oracle OC4J 10.1.3.n, Oracle OC4J 10.1.2.n, Oracle GlassFish 3.n, Oracle GlassFish 4.n, Jetty 6.1.n, Jetty 5.1.n, JBoss Application Server. Applications that require Coherence HTTP session management must be migrated to use a supported web container version. See Administering HTTP Session Management with Oracle Coherence*Web.

2.2.4 ActiveCache (active-cache.jar)

ActiveCache (active-cache.jar) has been deprecated. ActiveCache can still be used with applications that have been developed to run on older versions of WebLogic Server.

ActiveCache functionality has been replaced by Managed Coherence Servers. For more information on Managed Coherence Servers, see Oracle Fusion Middleware Developing Oracle Coherence Applications for Oracle WebLogic Server.

2.2.5 Thread Count

The <thread-count> element is deprecated. Use the <thread-count-min> and <thread-count-max> elements instead.

2.2.6 Specifying Ports in the WKA List

The functionality to specify ports in the WKA list is deprecated as of the of the 12.2.1 release. Support for this feature will be removed in a future release.

2.2.7 Specifying tangosol in System Properties

Coherence system property names no longer require the tangosol prefix. For example, the system property tangosol.coherence.distributed.localstorage can now be written as coherence.distributed.localstorage. System properties that only contained the tangosol prefix now use the coherence prefix. For example, the system property tangosol.pof.enabled can now be written as coherence.pof.enabled. The changes are also applicable to Unix-based environments. For example TangosolCoherenceCacheConfig can be written as CoherenceCacheConfig.

System properties that include the tangosol prefix are still supported; however, support may be removed in a future release.

2.2.8 TopLink Implementations

The TopLinkGrid as well as the TopLinkCacheLoader and TopLinkCacheStore implementations are deprecated as of the of the 12.2.1 release.

2.2.9 Object::toStream Deprecated

The Object::toStream method has been deprecated. Applications should use the Object::toString method instead.

2.2.10 ParallelAwareAggregator

The ParallelAwareAggregator interface has been deprecated and should no longer be used. Applications should use the StreamingAggregator interface to implement custom aggregators. See Performing Data Grid Aggregation Using Streams in Developing Applications with Oracle Coherence.

2.2.11 Remote Addresses

The <remote-addresses> element, within the <participant> element, that is used to configure federation cluster participants in an operational configuration file is deprecated. Use the <name-service-addresses> element instead.

2.2.12 Encryption Network Filters

Encryption network filters, which were deprecated in Coherence 3.7, have been removed and are no longer supported as of the 12c (12.2.1) release. TCMP inter-cluster and *Extend TCP connections should be secured using SSL instead. The following APIs have been removed:

  • com.tangosol.net.security.AbstractEncryptionFilter.java

  • com.tangosol.net.security.AsymmetricEncryptionFilter.java

  • com.tangosol.net.security.BlockCipherInputStream.java

  • com.tangosol.net.security.BlockCipherOutputStream.java

  • com.tangosol.net.security.ClusterEncryptionFilter.java

  • com.tangosol.net.security.PasswordBasedEncryptionFilter.java

  • com.tangosol.net.security.SymmetricEncryptionFilter.java

2.2.13 C++ libraries for Solaris

Starting 12.2.1.3, the C++ libraries for Solaris SPARC32 and Solaris Intel x86 are no longer supported with Coherence. In 12.2.1.3, only the libraries for SPARC64 and Solaris x64 are supported.

If you need Solaris SPARC32 or Solaris Intel x86 (32 bit) libraries, then use the fully compatible Coherence for C++ 12.2.1.2 libraries.