GridGain 2.1 has been released - Download it
.
Release 2.1 comes with many exciting features some of which are:
- Amazon EC2 Images
- Per-Task SPI Customization
- Node Filters and SLA-Based Topology
- LifeCycle Beans
- Customizable Marshalling And XML Serialization
- Database Checkpoints
- Tighter Spring Integration
- Peer-Class-Loading For Grid Event Querying
- Flexible Deployment Modes
- Groovy Examples
- Maven Repository
Amazon EC2 Images
Release 2.1 comes with some preconfigured Amazon EC2 images that make deploying GridGain on Amazon EC2 very straight forward. You can also use GridGain images as a starting point to create images for your own applications if none of the provided ones fit.
Per-Task SPI Customization
Now you are able to configure different sets of SPI's for different tasks. For example, Task1 and Task2 can have different topology and load-balancing policies.
See Specifying Different SPIs Per GridTask
Node Filters and SLA-Based Topology
You can specify grid node topology based on Apache JEXL expression language directly from XML configuration or from code. The example below will include all nodes that have more than one processor, CPU load less than 70%, and belonging to 'worker-segment' configured by user.
(node.metrics.availableProcessors > 1) &&
(node.metrics.currentCpuLoad < 0.7) &&
(node.attributes.get('segment').equals('worker-segment'))
See SLAs And Grid Node Filters
LifeCycle Beans
You can hook into GridGain lifecycle using LifeCycle Beans. Basically GridGain can optionally receive a collection of LifeCycle Beans on startup and then it will invoke callbacks on those beans once life cycle events occur.
Customizable Marshalling And XML Serialization
GridGain now comes with 3 optional implementations of marshalling: Jboss, JDK, and XStream XML-based. Default value will remain to be JBoss Serialization, but now are able to easily switch to JDK serialization, or for cases where you need to exchange non-serializable data, you will be able to use XStream XML-based serialization.
See GridMarshaller
Database Checkpoints
Prior to 2.1 you had ability to store checkpoints in Shared File System or distributed caches. Starting with 2.1, GridGain supports storing intermediate checkpoints for long running jobs in database.
Tighter Spring Integration
In GridGain 2.1 you will be able to inject Spring beans into your grid tasks and jobs by simply annotating fields or methods with "@GridSpringBean(name)" annotation. You also will be able to configure the whole GridGain as a Spring bean and wire it up via Spring configuration files.
See Spring Bean Resource
See GridSpringBean
Peer-Class-Loading For Grid Event Querying
Now you will be able to query events without having to deploy event filters on all grid nodes. For example, the following code will give you all events from all grid nodes without any extra deployment steps:
Grid grid = GridFactory.getGrid(); Collection<GridNode> allNodes = grid.getAllNodes(); Collection<GridEvent> evts = grid.queryEvents(myEventFilter, allNodes);
See Grid Events
Flexible Deployment Modes
This is a very big change for us as it really enhances GridGain "Code->Compile->Run" philosophy. As you may already know, there are no explicit deployment steps when working with GridGain - the deployment happens automatically, but now users will be able to control how classes and user resources should be shared across grid. Prior to 2.1, users had only the option of every task being loaded through its own separate class loader, which made it somewhat inconvenient to share classes and resources between tasks. Now, the behavior of class-loading on remote nodes absolutely resembles class-loading on local nodes, and if user can share some resource, say database connection, between tasks on local node, then user will be able to share the same resource remotely without any extra deployment steps.
See Grid Deployment
Groovy Examples
Release 2.1 has changes to accommodate running GridGain from Groovy. It will also come with examples and instructions on how to run GridGain on Groovy. Overall, GridGain can work from Groovy quite naturally, we just had to make a few small changes to make sure that Peer-Class-Loading works as desired.
See Groovy Examples
Maven Repository
For all those users who kept asking about Maven repository, I am happy to announce that GridGain 2.1 has it.
See Maven Repository
