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-11.0.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>11.0.0</version>
</dependency>
Noteworthy packages, classes and interfaces:
The ExtensibleEnvironment
Class:
A replacement for the standard Coherence ConfigurableCacheFactory
implementation, responsible for processing cache configurations, that
allows developers to independently create custom configurations and
runtime extensions to Coherence.
The com.oracle.coherence.common.events
Package:
A simple framework to enable the development of server-side synchronous and asynchronous event-based applications, embedded within Coherence.
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 Oracle Coherence Incubator provides a mechanism to support custom extension
of Cache Configurations through the use of what we call ExtensibleEnvironments
,
including the ability to introduce other cache configurations. The following
section provides information about said extensions.
An introduction to Coherence Configuration, the Configurable Cache Factory Coherence startup sequence.
Introduction to XML Namespaces
XML Namespaces and XML Namespaces in Cache Configurations.
Creating Custom Cache Configuration Namespaces
A tutorial outlining how to create your own XML Cache Configuration Namespace for Coherence.
The Coherence Namespace: The default and implicitly defined namespace for processing Coherence Cache Configuration elements.
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 Instance Namespace (deprecated): A utility namespace providing the ability to specify how custom classes may be instantiated.
The Value Namespace (deprecated): A utility namespace providing the ability to define strongly typed values.
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.