Provides a collection of utility packages and classes commonly used to support the implementation of other Oracle Coherence Incubator projects.
The Common Package implementation is distributed in the jar file
called: coherence-common-12.5.0.jar
.
However as the Common Package has several other dependencies, we **strongly recommend** that developers adopt and use tools like Apache Maven/Ivy/Gradle to transitively resolve the said dependencies, instead of attempting to do so manually.
To configure your Apache Maven-based application to use the Common Package,
simply add the following declaration to your application pom.xml
file
<dependencies>
element.
<dependency>
<groupId>com.oracle.coherence.incubator</groupId>
<artifactId>coherence-common</artifactId>
<version>12.5.0</version>
</dependency>
Releases prior to Incubator 12 provided several classes that enabled the development of customized namespaces for Coherence. As this capability is now provided by Coherence 12.1.2+, these classes have been removed and all dependencies on these capabilities now use native Coherence.
For information how to develop custom namespaces for Coherence 12.1.2+, refer to the following official documentation and presentations:
Noteworthy packages, classes and interfaces:
The CoherenceLogHandler
Class:
A Java Log Handler that writes java.util.logging.LogRecords
to the
Coherence Logger. This allows applications to use the standard
java.util.logging
framework, but have the log records appended
asynchronously to the configured Coherence Logger.
The com.oracle.coherence.common.sequencegenerators
Package:
A set of interfaces and classes to simplify the creation of sequence numbers, either locally in a Java Virtual Machine, or across a cluster.
The com.oracle.coherence.common.processors
Package:
Containing a collection of useful new Entry Processors, including the
InvokeMethodProcessor
for remotely invoking methods through reflection.
The ObjectProxyFactory
Class:
A class to enable the creation of local proxies of objects stored in a
cache, thus allowing direct use of the said objects directly without
knowing their location in a cluster and without using EntryProcessors
for access.
The EC2AddressProvider
Class:
A class to simplify and automate the dynamic formation a cluster on Amazon EC2, without needing multi-cast or manually specifying individual IP addresses.
Several utility packages for the creation of different types of Identifiers
(often useful for cache keys), handling Tickets
, Ranges
, Tuples
, Leases
and some customized ThreadFactories
.
The Element Namespace:
A namespace enabling runtime transformation of XML elements in a cache
configuration. ie: provides <cache-config element:introduce-cache-config="...">
and other functionality.
The Filter Namespace: A utility namespace providing the ability to define Coherence Filters in Cache Configurations.
The JNDI Namespace: A utility namespace providing the ability to lookup resources from JNDI.
The Amazon EC2 AddressProvider
Amazon provides compute power on demand through its Elastic Compute Cloud (EC2).
The EC2AddressProvider
makes it easier to run a Coherence-based application
on EC2.