Updated Coherence Plug-in with Java 9 Mission Control

Overview

With the official release of JDK 9, Java Mission Control (JMC) was also updated to 6.0.  Something that had bugged me for many years was that the old JMC included an “experimental” Coherence plug-in to view cache and service information (created in Coherence 3.6/3.7 days!).  This plug-in was very “experimental”, in fact unsupported, and didn’t really offer much value/ usability for monitoring Coherence clusters.

Being involved in the development of the JVisualVM plug-in, It was a good opportunity for me to work with the JMC Dev team to update this plug-in so that it was a) more reflective of the current Coherence features, b) was actually useful and c) contained similar features/functionality that is in the JVisualVM plug-in.

The outcome of this was a greatly enhanced (and supported) Coherence plug-in for JMC which meant that if you don’t use, or don’t have access to JVisualVM you can use JMC to monitor your Coherence clusters.

Note: this plug-in, as for the existing JVisualVM one, is for monitoring dev, test environments primarily.

Installation

If you have installed the GA version of JDK 9 installed, then all you need to do is run the jmc command which is the the bin directory of the JDK9 download.  For my environment, which is a Mac, its in:

/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin

Once you have JMC started, go to the Help Menu and choose Install New Software.  (If you are behind a proxy, then you may need to set your proxy in the preferences).

Expand the Console Plug-ins and select the Coherence Tab Pack.

jmc_install

Select Next, Next to continue and install the plug-in. Once you accept the licence agreement JMC will restart to complete the installation.

Monitoring a Cluster

Now startup a Coherence cluster to connect to, or you can use an existing one. I’m using Coherence 12.2.1.3.0 which is the most current version. After installing Coherence, change to the coherence/bin directory and run ./cache-server.sh in a couple of windows.

In the JVM Browser, expand one of the Coherence nodes and double click on the MBean Server link.  This will then open up the main JMC screen, as described below.

jmc_home

You should see a Coherence tab in the bottom right. Click this and the main Coherence Plug-in page is displayed.

jmc_cluster_home_v2

 

There are a number of sub-tabs displayed to show various aspects of a running Coherence Cluster:

  • Cluster Overview – Various metrics regarding overall cluster health
  • Machines – Information about the machines that make up the cluster, including cores, load and memory pressure
  • Members – Member information including individual members and various detail about each one
  • Services – Information regarding running services including StatusHA, partitions, and various other performance metrics
  • Caches – Lists the individual caches and their size, memory footprint and individual node details
  • Proxy Servers – Shows proxy servers and connections
  • Persistence – Information about active or on-demand persistence (Introduced in 12.2.1)

Each of the tables in the tabs have various right-click options which and context sensitive for the type of object you are viewing. E.g. Partition statistics for Services.

The plug-in will connect and display information for Coherence version 12.1.2 and above.

If you don’t have any data in your cluster, run ./coherence.sh from another and insert some data. For my environment i creates 4 caches. A number of the screens are displayed below.

 

Conclusion

As well as all the cool features that Mission Control gives you (See https://docs.oracle.com/javacomponents/index.html for full details), the new Coherence Plug-in provides a quick way of getting insight into your dev/test Coherence cluster.

Enjoy

Note: The JMC Coherence Plug-in contains a subset of the full functionality included Coherence JVisualVM plug-in.

 

Advertisements
Posted in Examples, New Features | Tagged , , , , , | Leave a comment

Java One KeyNote

Hi all.

Been busy watching a few video’s from Oracle Open World and Java One. Especially interesting is the Java One Key note available below:

Watch full-length keynote (1:33:22)

Plenty more coming at On Demand Videos link.

Enjoy

Posted in News | Tagged , , , | Leave a comment

Java SE 9 and Java EE 8 Released

Exciting new regarding release of Java SE 9 and Java EE 8!

https://www.oracle.com/corporate/pressrelease/java-se-9-and-ee-8-092117.html

Posted in News | Tagged , | Leave a comment

Coherence 12.2.1.3 Released

Overnight Coherence (and Oracle Fusion Middleware) 12.2.1.3 was released.

In terms of Coherence, this release contains a number of new features:

  • Revised Active-Active Federation Configuration – The new <active-active> configuration element is now used to define active-active federation topologies.
  • Global Consistent Snapshots – A snapshot can be now 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 the Persistence Documentation for more information.
  • HotCache Enhancements include:
    • HotCache multi-threading – HotCache can use multiple threads to apply trail file operations to Coherence caches.
    • HotCache Multitenant mode – HotCache can refresh caches for specific tenants.
    • HotCache JMX management – HotCache includes management data for monitoring the performance of cache update operations. This also includes a new tab in the JVisualVM plugin to display HotCache information.

You can find the documentation and release notes at http://docs.oracle.com/middleware/12213/coherence/index.html.

Enjoy!

Posted in News | Tagged , , , , | Leave a comment

Introducing Application Cache Client Java SDK for Oracle Cloud

Just back from an awesome vacation in far north Queensland and now catching up on 500+ emails!  One email I came across is that that the Oracle Application Container Cloud (ACCS) Application Cache Java SDK has now been released on GitHub.

For full details on this (and how Coherence is powering this behind the scenes), please see Shaun Smith’s post:

https://blogs.oracle.com/developers/introducing-application-cache-client-java-sdk-for-oracle-cloud

 

 

 

Posted in News, Uncategorized | Tagged , , , , | Leave a comment

Cloud Ready: Introduction to Distributed Streams

A couple of weeks ago, one of our Coherence Architects, Brian Oliver, gave a great presentation at “Oracle Code 2017”. I wasn’t able to get there, but fortunately we have a recording available on Youtube which is well worth the view – https://www.youtube.com/watch?v=9yt43EIDJmg.

The summary of his presentation is below:

“This talk interactively introduces the concept of Distributed Stream processing using the standard Java 8 Streams API, allowing what would traditionally be in-process streams to be processed across multiple Java processes, potentially deployed in a Cloud. We thus investigate how the regular Java Stream API may be utilized to process large data-sets and respond to streams of events, highlighting the challenges for developers, those providing support for distributed streams and the operational challenges faced using such techniques in production.”

Posted in Presentations, Screencasts | Tagged , , , , | Leave a comment

Updated Cover Photo

We’ve updated our cover photo to a beautiful sunset on Broome’s Cable Beach.  If you’ve never been there, it’s amazing and worth a trip!

http://www.australia.com/en/places/wa/cable-beach.html

Posted in Uncategorized | Leave a comment