Dashboard > GridGain User Guide > Table Of Contents > Developers Guide > Discovery SPI
Discovery SPI
Added by architect, last edited by morpheus on Dec 23, 2008  (view change)
Labels: 
(None)


Click on Javadoc link to open Javadoc documentation.

Package

org.gridgain.grid.spi.discovery Javadoc

Built-in Implementations

GridGain comes with following discovery SPI's supported out of the box.

Description

GridDiscoverySpi Javadoc provides a mechanism in grid by which every node can discovery other nodes on the grid.

To discover remote nodes and get remote node attributes, the following public methods are available:

  • Grid.getNode(UUID) Javadoc
  • Grid.pingNode(UUID) Javadoc
  • Grid.getRemoteNodes() Javadoc
  • Grid.getAllNodes() Javadoc
  • Grid.getLocalNode() Javadoc
  • Grid.addDiscoveryListener(GridDiscoveryListener) Javadoc
  • Grid.removeDiscoveryListener(GridDiscoveryListener) Javadoc

Usage

Here is an example of how to get notification about remote node join and get remote nodes using public Grid Javadoc API

Grid grid = GridFactory.getGrid();

grid.addDiscoveryListener(new GridDiscoveryListener() {
        /**
         * @see GridDiscoveryListener#onDiscovery(GridDiscoveryEventType, GridNode)
         */
        public void onDiscovery(GridDiscoveryEventType evt, GridNode node) {
            if (evt == GridDiscoveryEventType.JOINED) {
                System.out.println("Node joined: " + node);
            }
        }
));

// Get remote nodes.
Collection<GridNode> nodes = grid.getRemoteNodes();

Configuration

GridDiscoverySpi is provided in Grid Configuration passed into GridFactory Javadoc at startup. By default GridMulticastDiscoverySpi is used. You can configure a different discovery SPI implementation as follows

GridConfigurationAdapter cfg = new GridConfigurationAdapter();

// Configure grid to use JGroups discovery layer.
cfg.setDiscoverySpi(new GridJgroupsDiscoverySpi());

GridFactory.start(cfg);

Note that GridConfiguration interface is just a bean and can also be configured using spring XML configuration.


For more information about using Spring framework for configuration click here.

Default Implementation

If no discovery SPI is provided in configuration by default GridMulticastDiscoverySpi is used.

GridCoherenceDiscoverySpi (GridGain User Guide)
GridJbossDiscoverySpi (GridGain User Guide)
GridJgroupsDiscoverySpi (GridGain User Guide)
GridJmsDiscoverySpi (GridGain User Guide)
GridMailDiscoverySpi (GridGain User Guide)
GridMuleDiscoverySpi (GridGain User Guide)
GridMulticastDiscoverySpi (GridGain User Guide)

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.10 Build:#528 Nov 29, 2006) - Bug/feature request - Contact Administrators