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.
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: https://java.net/projects/cohinc/
Issue Tracker: https://java.net/jira/browse/COHINC
Project Forums: https://java.net/projects/cohinc/forums
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:
- 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.
- 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.
- 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.
- 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: https://java.net/projects/oracletools/
Issue Tracking: https://java.net/jira/browse/ORACLETOOLS