Category Archives: coherence

Oracle Coherence

Coherence Incubator 11.2.0 Released!

While we’re certainly excited about the latest Coherence 12.1.0 release for Coherence 12.1.2 (including the new JVisualVM Plug-In), we’re not leaving the Coherence 3.7.1 developers out!

As part of our continued support for the Coherence Community we recently released Coherence Incubator 11.2.0 (for Coherence 3.7.1).   For the most part it’s a patch release – a few defect fixes and an upgrade to use Coherence 3.7.1 patch 10, however there are some big improvements in the way we’ve been doing testing, especially for Push Replication, that of which now incorporates the improvements made in Oracle Tools 1.1.0.

Coherence Incubator 12.1.0 Released!

On the back of the Oracle Tools 1.1.0 release, today we released an update to Coherence Incubator – Version 12.1.0.   While the change history provides the low-level details, the exciting news is the introduction of the JVisualVM plugin for Oracle Coherence (supporting versions 3.5, 3.6, 3.7 and 12.1.2) – the details of which are available here.

If you are using Oracle Coherence, running Java Development Kit 7 and want to visualize what’s happening in your development environment, this plug-in is for you!   Forget JConsole – you need JVisualVM for Coherence.  It’s extremely easy to install and easy to use.  (btw: you’ve already got JVisualVM installed if you’re using JDK7)

More details about the plug-in installation is now available on the Oracle Coherence Blog.

As usual, comments, feedback, defect reports and feature requests are always welcome on the Coherence Incubator Project.

Project Page:
Issue Tracker:
Project Forums:

Oracle Tools 1.1.0 Released!

After some significant research and development we’ve finally released Oracle Tools 1.1.0.   While a seemingly minor update (without breaking anything), it contains some nice improvements over Oracle Tools 1.0.0.

While the Issue Tracker (JIRA)  and Change History outline all of the low-level details, in a nutshell we made the following improvements:

  1. Orphan Process Protection: We introduced the ability to ensure that spawned processes, including Java applications, can be prevented from becoming orphaned, should a starting (ie: parent) process terminate unexpectedly.   While most people seem to run Oracle Tools with in the context of Continuous Integration Systems (which typically prevent “orphan processes”), we found systems using Oracle Tools in a standalone mode may create orphan processes when they terminate carelessly.  Not anymore!  “Orphan Protection” is turned on by-default.   If you really want to “orphan” newly created applications, just turn if off with a call to the NativeJavaApplicationBuilder.setOrphanProtection(false) method.
  2. Remote Runnable and Callable Execution: Having the ability to communicate between the starting and client applications allowed us to introduce the ability to request the execution of arbitrary Java Callables (or Runnables) for Java-based Applications (including Oracle Coherence).   Essentially this means that you can do things like this:Future<T> future = someApplication.submit(Callable<T>); in your tests.Note: This works for both container-based, local and soon-to-be-released “remote” applications.
  3. Introduced the new Eventually class:  With the advent of remote execution we decided to refactor (and deprecate) the DeferredAssert class to make things easier to use.  eg:  Say you want to assert that a remote application eventually reaches a certain state, you can now do this:Eventually.assertThat(application, Callable<T>, Matcher<T>);This will attempt to execute the specified Callable against the provided Application, hoping to eventually have the result “match” the specified Hamcrest/JUnit Matcher.   How it retries / backs-off in order to “eventually” match is covered by the Ensured class.
  4. New Documentation for Oracle Tools for Coherence:  While we also added a bunch of new features for the Oracle Tools for Coherence module, we also added new tutorial-based documentation.   It’s all covered here.

Comments, suggestions, feedback and defect reports are always welcome!

Project Page:
Issue Tracking:

Coherence Incubator 11 Released

It’s here!  Oracle Coherence Incubator Release 11 has now been finalized and made public.  Everyone can now pick up the official Maven builds from or via Maven Central.

Instead of repeating all of the goodies and release details again, I’ll simply refer you to take a look at my recent post.   However to save you some time, here are the important new links:

Coherence Incubator Project:

Coherence Community Source Code:

Release Documentation:

If you’re not using Apache Maven for dependency management, you can still download the signed artifacts manually, including the jars, javadoc and source from Maven Central (which is Simply search for: “coherence incubator“.

What about Coherence Incubator 10?
Over the next few days, weeks and months our plan is to retire Coherence Incubator 10.  During this time we will be encouraging everyone to move over to Coherence Incubator 11.   There are a lot of advantages to this (like being able to easily build it yourself).  

Importantly we’ve gone to great lengths to ensure that Coherence Incubator 11 is technically the same as Coherence Incubator 10 – if they aren’t that’s a defect – which we should be able to resolve.  Basically anyone that’s currently using Coherence Incubator 10 should be able to simply swap the jars (updating the versions of course) and carry on.  Of course there are a few differences, but this are scoped to where and how examples are run, together with new documentation.

As we’ve previously done with major releases,  the old site, documentation and downloads for Coherence Incubator 10 will still be available.  We’re not taking those away.   However all new work and defect fixes will only occur in Coherence Incubator 11+ (unless there’s some monumental pressure – and I mean monumental).


Coherence Incubator 11 (coming to an open-source repository near you soon…)

As mentioned at the past few Oracle Coherence Special Interest Group (SIG) and Customer Advisory Board (CAB) meetings, we’ve been busily working away at opening up (open sourcing) the entire Oracle Coherence Incubator for the Coherence Community.   I’m very pleased to say that this work is now “almost” complete!

Note: I say “almost” complete simply because we’ve not yet made an official release from the source repositories, but as far as openness goes, the work is now done.

If you’ve been looking at or using the Oracle Coherence Incubator in the past, a lot of things are about to change organizationally.

1. All source code and documentation is now officially licensed under CDDL.

2. The entire project has been “Mavenized”.  ie: easy to build, release etc from source.

3. All source code and documentation is now publicly available on GitHub.  ie: easy to access for everyone.

4. The project is now officially hosted at  ie: it’s like Glassfish and other open-source Java projects.

5. The issue tracking system is also publicly available (also on

6. The project documentation is now part of the project source (as a maven site).

7. You can now officially contribute to the Incubator!  Instructions on “how” are in the project documentation

8. Releases will be available on (and Maven Central).  Snapshots are already available on

While these are major structural changes to the project, the source packaging and classes remain the same.   ie:  Coherence Incubator 11 is simply Coherence Incubator 10, but cleaned up with a new home and licensing model.

Here are the important new links:

Coherence Incubator Project:

Coherence Community Source Code:

Latest Documentation:

What about Coherence Incubator 10?

Ultimately the plan is to retire Coherence Incubator 10 and encourage everyone to move over to Coherence Incubator 11.   There are a lot of advantages to this (like being able to easily build stuff yourself).

Technically they are the same (if they aren’t that’s a defect – which we can track openly!).  We’ve gone to great lengths to keep them in sync so that everyone that’s been using Coherence Incubator 10 should be able to simply swap the jars (updating the versions) and carry on.

Once we’ve made an official release of Coherence Incubator 11, we plan to retire Coherence Incubator 10.  The site and downloads will still be available.  We’re not taking that away.   However all new work and defect fixes will only occur in Coherence Incubator 11 (unless there’s some monumental pressure – and I mean monumental).

Currently Coherence Incubator 11 contains a rollup of all changes to Coherence Incubator 10.  ie: in terms of source code they are the same (or very close).

So if you’re using Coherence Incubator 10, take a look at Coherence Incubator 11.  Grab the snapshots from or build it yourself from GitHub.

What’s next?

There’s still a bit of documentation to move over from Coherence Incubator 10 site and into Coherence Incubator 11.  We’re hoping to have this completed in the next week or so.  After this we’ll start the process of making an official release.  Once this is complete, we’ll announce retirement plan for Coherence Incubator 10.

As you can guess by the time this has taken, this has been a massive effort.  While it may seem like it was a simple project restructuring  – eg: getting source, documentation ready, this has involved a tremendous amount of organizational and community consultation.  I’m happy to say we’re through this now.   I look forward to putting out some new releases with new functionality pretty soon.

Coherence Incubator 10 Patch 2 Released

Just uploaded the latest fix patches for Coherence Incubator 10.  While mostly minor fixes, there’s also a few new additions, like the new @LiveObject annotation.  Check out the Coherence Incubator project pages for more details.

London Coherence Training Schedule

If you’re in London and looking for Coherence training, you’re in luck.  Oracle University is now offering regular training.  While based on Coherence 3.6 at the moment, it’s a great introduction to Coherence.  Moving to Coherence 3.7 will be a snap.

Coherence SIG: Spring Edition: 3rd May, 2011

Updated: The registration is now open here:


3rd May, 2011
Oracle London
One South Place,
London. EC2M 2RB (Google Map)


The theme of this SIG is to discuss and cover in some detail, the latest (to be released very very shortly unless there’s some kind of disaster), version of Coherence.  Essentially the morning will cover Coherence, the afternoon will cover Incubator examples (also being released simultaneously).

For this SIG we’re only running a single track, simply to focus on the latest release.  For the next SIG we’ll be running multiple tracks again.

10:00 Registration

Registration, Badge and Schedule Pick Up.  Tea, Coffee and refreshments served.


10:30  Coherence 3.7 Update: Part 1 (Brian Oliver and friends, Oracle)
In this talk we’ll take a look at some of the latest features in Coherence 3.6+.  More details to come once it’s released.

11:45  Coherence 3.7 Update: Part 2 (Brian Oliver and friends, Oracle)
The follow on session from Part 1 :)

13:00  Lunch

13:30  Evolution of Gridman (Andrew Wilson)
In this talk, Andrew will walk through the architectural progression from “put-get” man right through to real-time-scalable-events man. It took him 4 years to make this transition and he’s still learning!

14:45  Incubator 10 Goodies: Testing and Tooling (Brian Oliver, Harvey Raja, Oracle)
Finally it’s here and there’s a lot of new goodies.  This talk will focus on Testing and the latest things in Coherence Common, including reflection-based POF serialization

15:45  Break

16:15  The Event Distribution Pattern (Brian Oliver, Oracle)
In this talk we take a look at the newest edition to the Incubator, the Event Distribution Pattern, a simple pattern enabling the distribution of application level events to multiple devices and/or clusters.  Now the basis of latest Push Replication Pattern, the Event Distribution Pattern opens up an entirely new range of new architectural styles for your applications.

17:00 (to be announced)

17:45 Close

Announcement: Next London Coherence SIG: 3rd May 2011

It’s that time again, time for another London Coherence SIG.

Although the agenda is yet to be finalized, the theme of the event will be the up-and-coming Coherence 3.7 and Incubator 10 releases.  So lock in the date, Tuesday May 3rd, 2011 at the London Oracle Offices.

The complete agenda and registration page will announced soon!

London Coherence SIG: Winter Edition: 27th of January, 2011

Happy New Year!
I hope you had a fantastic 2010 and 2011 is even better.

For 2010 the Coherence SIGs were a huge success, expanding into even more cities around the world, bringing in a large variety of speakers and expanding the content covered. In London we moved to the full day format which has proven to be really successful.  The great thing is that 2011 is going to be even better, promising more cities, even more content and especially, the release of Coherence 3.7 (at some point).

To kick things off for London in 2011, the next London Coherence SIG, scheduled for the 27th of January 2011, will run all day and with two parallel tracks.  That is, we’re going to double the number of seats available, double the content and double the number of speakers.

Registration for the SIG is now available online at the UKOUG site here:

NOTE: You’ll have to choose which of the tracks you’d like to attend during registration.  But don’t worry you can change on the day.

Look forward to seeing you soon!


27th January, 2011
Oracle London
One South Place,
London. EC2M 2RB (Google Map)


10:00 Registration

Registration, Badge and Schedule Pick Up.  Tea, Coffee and refreshments served.

Knightsbridge Track

10:30  Coherence Update (Brian Oliver, Oracle)
In this talk we’ll take a look at some of the latest features in Coherence 3.6, briefly discussion Coherence 3.7 and what’s new in the latest Coherence Incubator Release, including annotation driven serialization.

11:45  Inside the Coherence Management Framework (Everett Williams,
As the lead engineer and contributor to the Coherence Management Framework, Everett (now working at will present an inside view of the Coherence Management Framework, how it works, is put together, things you may not know about and how to use the JMX Reporter.

13:00  Lunch

13:30  Testing Coherence-based Applications (Andrew Wilson)
Testing distributed applications, especially those that use Coherence, typically requires a little more effort than a  single threaded/single process application.  In this talk Andrew will discuss and demonstrate a number of tips and tricks covering unit, integration and performance testing that will make your life easier when testing Coherence-based applications.

14:45  Coherence Performance Under The Microscope (Tom Lubinski, CTO,
Using the Coherence API is relatively easy, but how your calls onto the API are measured and reported is something different all together.  In this technical talk Tom outlines the underlying schematics of messages, requests and tasks, things that you commonly seen in JMX.  He discussed what are they, why should you care and which ones are important, especially in a production system. Tom Lubinksi then explains how these metrics relate to the workings of the distributed cache service, the invocation service and entry processors.  He will show you how to plot these metrics  to literally “ see” how Coherence is executing your code and using system resources. These insights can then help you tune and troubleshoot your data grid.

Tom founded SL Corporation in 1983 and currently serves as the company’s Founder and CTO. He has been instrumental in developing RTView, a real-time monitoring, analytics and visualization platform, as well as RTView Oracle Coherence Monitor and Viewer for the monitoring and management of Oracle Coherence data grids. Since founding the company, he has been involved in thousands of successful customer deployments of real-time visibility solutions. He has an immensely deep understanding of monitoring and managing distributed systems.  He’s an entertaining and talented speaker with a passion for technology.  Not a talk to be missed.

15:45  Break

16:15  Where does it run? (Andrew Wilson and friends)
In this talk Andrew (and friends) walk through the numerous APIs, extensions and plug-ins available to developers in Coherence, what they are, how they work and importantly where they are executed, knowledge that’s crucial to know if you want to take full advantage of your investment and save yourself some time.

Guaranteed to be an entertaining talk about there experiences in learning the Coherence API, including what they learnt, mistakes they made and their recommendations for each feature.

17:00  Java Platform Update (Sten Garmark, Oracle)
While not specifically focused on Coherence, in this talk we discuss the road ahead for the Java Platform, including the up-and-coming Java 7 and 8 platforms.

If you’re interested in what’s coming in Java and would like an opportunity to interact directly with Oracle Java Product Management, this will be a great talk.

17:45 Close

Waterloo Track

10:30  Beyond Caching and Data Grids:  Lessons in using Coherence as a System of Record  (Ben Stopford)
For most Coherence Architects, denormalising an object model to scale out data access and parallelize queries is a bread and butter activity. However when attempting to use Coherence as a system of record, especially in much the same way as one would use a traditional database, so that things like versioning and joins are easily permitted, normalizing the object model is what you really need.  Unfortunately having a completely normalized relational model will often lead to some serious scalability and or performance challenges.  Likewise having a completely denormalized model will often lead to large amounts of communication to perform things like joins.

In this technical talk Ben outlines the use of Star Schemas and how the adoption of data-ware housing approaches with Coherence provides a mechanism to represent and manage cached data in a normalization manner so that joins (and versioning of data) are possible without sacrificing too much performance and maintaining linear scalability.

11:45  The Live Object Pattern (Brian Oliver, Oracle)
In this talk we’ll introduce the concept of the “Live Object Pattern” and how Live Objects may be used to model configuration, scheduled jobs and points of integration with non-Coherence resources.

The Live Object pattern is fundamental to other pattern implementations, like the Command, Messaging and Push Replication.

13:00  Lunch

13:30  How To Build a Coherence Practice (Craig Blitz)
In this talk Craig discusses what happens after you’ve chosen and started to adopt Coherence.  ie: when the hard work begins.   The talk will help you get the most out of your investment both from a project and enterprise perspective by introducing you to the resources available from Oracle and through the Coherence ecosystem. He’ll discuss best organizational practices we’ve seen and how you can implement them to ensure success with Coherence. Drawing on significant experience with customers’ Coherence deployment, Craig will show what works and what doesn’t in practice.

14:45 Integrating Coherence and OSGi (David Whitmarsh)
In this technical talk David discusses the steps to integrate Coherence with OSGi.  David outlines the challenges, how to’s, traps and benefits of adopting a modular architecture with Coherence.

If you’re interested in adopting Coherence in an OSGi container, or even building a modular application with Spring, this is a great introductory talk.

15:45  Break

16:15  Cool Coherence Features (Harvey Raja, Oracle)
In this technical talk Harvey walks through some of the new features in Coherence 3.6, including Quorums and Default Serializers.  Additionally Harvey presents the new CohClipse plug-in for Eclipse, a tool to help generation serializers for Coherence.

17:00 Developing Custom Push Replication Providers (Brian Oliver, Oracle, with Solace Systems)
In this technical talk we discuss the development and configuration of custom Push Replication Providers, including the new JMS Push Replication Provider, that allows Coherence to use standard JMS providers as a means to manage replication state.

As a demonstration we’ll show how to configure Push Replication to use a Solace Messaging Appliance as replication infrastructure.

17:45 Close