#IGNITE-160 Fixing test compilation.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6416777d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6416777d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6416777d

Branch: refs/heads/ignite-160
Commit: 6416777df1be31e39f18bb68a71d9d69cedf06ec
Parents: d5eb0bb
Author: nikolay_tikhonov <[email protected]>
Authored: Thu Feb 5 19:13:46 2015 +0300
Committer: nikolay_tikhonov <[email protected]>
Committed: Thu Feb 5 19:13:49 2015 +0300

----------------------------------------------------------------------
 .../failover/ComputeFailoverNodeStartup.java    |  10 +-
 .../HibernateL2CacheExampleNodeStartup.java     |   6 +-
 .../store/CacheNodeWithStoreStartup.java        |   6 +-
 .../MemcacheRestExampleNodeStartup.java         |   6 +-
 .../scalar/examples/ScalarJvmCloudExample.scala |  10 +-
 .../ClientAbstractMultiThreadedSelfTest.java    |   6 +-
 .../client/ClientDefaultCacheSelfTest.java      |   6 +-
 .../ClientAbstractMultiNodeSelfTest.java        |  31 +++-
 .../integration/ClientAbstractSelfTest.java     |   8 +-
 .../rest/RestProcessorStartSelfTest.java        |  29 +++-
 .../configuration/IgniteConfiguration.java      |   4 +-
 .../org/apache/ignite/internal/IgnitionEx.java  |  24 +--
 .../SharedFsCheckpointSpiConfiguration.java     |   2 +-
 .../FifoQueueCollisionSpiConfiguration.java     |   2 +-
 .../local/LocalDeploymentSpiConfiguration.java  |   2 +-
 .../ipfinder/TcpDiscoveryIpFinderAdapter.java   |  12 ++
 .../jobstealing/JobStealingFailoverSpi.java     |   2 +-
 .../JobStealingFailoverSpiConfiguration.java    |   2 +-
 ...RoundRobinLoadBalancingSpiConfiguration.java |   2 +-
 ...CachePartitionFairAffinityNodesSelfTest.java |   6 +-
 ...ractJdbcCacheStoreMultithreadedSelfTest.java |   6 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |   6 +-
 .../fs/GridGgfsEventsAbstractSelfTest.java      |   6 +-
 .../ignite/internal/GridAffinityMappedTest.java |   6 +-
 .../internal/GridAffinityP2PSelfTest.java       |   6 +-
 .../ignite/internal/GridAffinitySelfTest.java   |   6 +-
 .../GridAlwaysFailoverSpiFailSelfTest.java      |  25 +++-
 .../internal/GridCancelUnusedJobSelfTest.java   |   6 +-
 .../GridCancelledJobsMetricsSelfTest.java       |  27 +++-
 .../GridCollisionJobsContextSelfTest.java       |  16 +-
 .../ignite/internal/GridDeploymentSelfTest.java |  41 +++--
 .../internal/GridDiscoveryEventSelfTest.java    |   6 +-
 .../ignite/internal/GridDiscoverySelfTest.java  |   6 +-
 .../GridFailoverCustomTopologySelfTest.java     |  42 ++++--
 .../GridFailoverTaskWithPredicateSelfTest.java  |  52 +++++--
 .../internal/GridFailoverTopologySelfTest.java  |  79 ++++++----
 .../GridJobCheckpointCleanupSelfTest.java       |  56 +++++--
 .../GridJobCollisionCancelSelfTest.java         |  16 +-
 .../GridJobMasterLeaveAwareSelfTest.java        |   9 ++
 .../internal/GridJobStealingSelfTest.java       |   8 +-
 .../GridJobStealingZeroActiveJobsSelfTest.java  |   8 +-
 .../internal/GridManagementJobSelfTest.java     |   6 +-
 .../internal/GridMultipleJobsSelfTest.java      |   6 +-
 .../internal/GridMultipleSpisSelfTest.java      | 150 ++++++++++++++++---
 .../GridMultithreadedJobStealingSelfTest.java   |   8 +-
 .../GridProjectionForCachesSelfTest.java        |   8 +-
 .../internal/GridSpiExceptionSelfTest.java      |  46 +++++-
 .../internal/GridTaskJobRejectSelfTest.java     |   4 +-
 .../internal/GridTaskMapAsyncSelfTest.java      |   6 +-
 .../GridTopologyBuildVersionSelfTest.java       |  80 +++++++---
 .../IgniteComputeEmptyClusterGroupTest.java     |   6 +-
 .../managers/GridManagerStopSelfTest.java       |  22 +--
 .../managers/GridNoopManagerSelfTest.java       |  52 ++++++-
 .../checkpoint/GridCheckpointTaskSelfTest.java  |  14 +-
 .../communication/GridIoManagerSelfTest.java    |   2 +-
 .../GridDeploymentManagerStopSelfTest.java      |   3 +-
 .../GridDeploymentMessageCountSelfTest.java     |   9 ++
 .../GridDiscoveryManagerAliveCacheSelfTest.java |   6 +-
 .../GridDiscoveryManagerAttributesSelfTest.java |   6 +-
 .../GridAffinityProcessorAbstractSelfTest.java  |   6 +-
 .../cache/GridCacheAffinityRoutingSelfTest.java |   6 +-
 .../GridCacheAtomicMessageCountSelfTest.java    |  29 +++-
 .../cache/GridCacheBasicStoreAbstractTest.java  |   6 +-
 .../cache/GridCacheClearAllSelfTest.java        |   6 +-
 .../cache/GridCacheConcurrentMapSelfTest.java   |   6 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |   6 +-
 ...idCacheConfigurationConsistencySelfTest.java |   6 +-
 ...ridCacheConfigurationValidationSelfTest.java |   6 +-
 .../cache/GridCacheEntryMemorySizeSelfTest.java |   6 +-
 .../cache/GridCacheEntryVersionSelfTest.java    |   6 +-
 .../GridCacheFieldsQueryNoDataSelfTest.java     |   6 +-
 ...idCacheGetAndTransformStoreAbstractTest.java |   6 +-
 .../cache/GridCacheGlobalClearAllSelfTest.java  |   6 +-
 .../cache/GridCacheIncrementTransformTest.java  |   6 +-
 .../cache/GridCacheIteratorPerformanceTest.java |   6 +-
 .../cache/GridCacheKeyCheckSelfTest.java        |   6 +-
 .../processors/cache/GridCacheLeakTest.java     |   6 +-
 .../GridCacheMarshallerTxAbstractTest.java      |   6 +-
 .../cache/GridCacheMemoryModeSelfTest.java      |  13 +-
 .../GridCacheMissingCommitVersionSelfTest.java  |   6 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |   8 +-
 .../cache/GridCacheMvccPartitionedSelfTest.java |   6 +-
 .../processors/cache/GridCacheMvccSelfTest.java |   6 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |   6 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |   6 +-
 .../cache/GridCacheOffHeapSelfTest.java         |   8 +-
 .../processors/cache/GridCacheOffHeapTest.java  |   8 +-
 .../cache/GridCacheP2PUndeploySelfTest.java     |   8 +-
 .../cache/GridCachePartitionedGetSelfTest.java  |   8 +-
 ...hePartitionedProjectionAffinitySelfTest.java |   6 +-
 .../cache/GridCachePartitionedWritesTest.java   |   6 +-
 .../GridCachePreloadingEvictionsSelfTest.java   |   6 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |  38 +++--
 .../GridCacheReferenceCleanupSelfTest.java      |   6 +-
 .../cache/GridCacheReloadSelfTest.java          |   6 +-
 ...ridCacheReplicatedSynchronousCommitTest.java |  65 +++++---
 .../cache/GridCacheSlowTxWarnTest.java          |   6 +-
 .../cache/GridCacheStorePutxSelfTest.java       |   6 +-
 .../cache/GridCacheStoreValueBytesSelfTest.java |   6 +-
 .../cache/GridCacheSwapPreloadSelfTest.java     |   6 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |  10 +-
 .../cache/GridCacheTtlManagerSelfTest.java      |   6 +-
 .../GridCacheVariableTopologySelfTest.java      |   6 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |   6 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |   6 +-
 .../IgniteTxConcurrentGetAbstractTest.java      |   6 +-
 .../cache/IgniteTxReentryAbstractSelfTest.java  |  27 +++-
 .../GridCacheAtomicLongApiSelfTest.java         |   6 +-
 ...CacheAtomicReferenceApiSelfAbstractTest.java |   6 +-
 ...cheAtomicReferenceMultiNodeAbstractTest.java |   6 +-
 ...idCacheAtomicStampedApiSelfAbstractTest.java |   6 +-
 .../GridCacheCountDownLatchSelfTest.java        |   6 +-
 ...ridCacheQueueJoinedNodeSelfAbstractTest.java |   6 +-
 ...titionedAtomicSequenceMultiThreadedTest.java |   6 +-
 ...dCachePartitionedQueueEntryMoveSelfTest.java |   6 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |   6 +-
 .../GridCacheAtomicTimeoutSelfTest.java         |  25 +++-
 .../GridCacheBasicOpAbstractTest.java           |   6 +-
 .../distributed/GridCacheLockAbstractTest.java  |   6 +-
 .../GridCacheMultiNodeAbstractTest.java         |   6 +-
 .../GridCacheMultiNodeLockAbstractTest.java     |   6 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |   6 +-
 ...dCachePartitionedAffinityFilterSelfTest.java |   6 +-
 .../GridCachePreloadEventsAbstractSelfTest.java |  10 +-
 .../GridCacheTransformEventSelfTest.java        |   6 +-
 .../IgniteCrossCacheTxStoreSelfTest.java        |   4 +-
 ...iteTxConsistencyRestartAbstractSelfTest.java |   6 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |  54 +++++--
 ...cOriginatingNodeFailureAbstractSelfTest.java |  85 +++++++----
 .../dht/GridCacheColocatedDebugTest.java        |   6 +-
 ...dCacheColocatedTxSingleThreadedSelfTest.java |   6 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |   6 +-
 ...GridCacheDhtEvictionNearReadersSelfTest.java |   6 +-
 .../dht/GridCacheDhtEvictionSelfTest.java       |   6 +-
 .../GridCacheDhtEvictionsDisabledSelfTest.java  |   6 +-
 .../dht/GridCacheDhtInternalEntrySelfTest.java  |   6 +-
 .../dht/GridCacheDhtMappingSelfTest.java        |   6 +-
 .../dht/GridCacheDhtPreloadBigDataSelfTest.java |   6 +-
 .../dht/GridCacheDhtPreloadDelayedSelfTest.java |   6 +-
 .../GridCacheDhtPreloadDisabledSelfTest.java    |   6 +-
 .../GridCacheDhtPreloadMessageCountTest.java    |  26 +++-
 .../dht/GridCacheDhtPreloadPutGetSelfTest.java  |   6 +-
 .../GridCacheDhtPreloadStartStopSelfTest.java   |   6 +-
 .../dht/GridCacheDhtPreloadUnloadSelfTest.java  |   6 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   6 +-
 ...ridCachePartitionedUnloadEventsSelfTest.java |   6 +-
 ...eAtomicInvalidPartitionHandlingSelfTest.java |  29 +++-
 .../near/GridCacheGetStoreErrorSelfTest.java    |   6 +-
 .../near/GridCacheNearEvictionSelfTest.java     |   6 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |   6 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |   6 +-
 .../GridCacheNearReaderPreloadSelfTest.java     |   8 +-
 .../near/GridCacheNearReadersSelfTest.java      |   6 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   6 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |   6 +-
 .../GridCachePartitionedEvictionSelfTest.java   |   6 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |   6 +-
 ...GridCachePartitionedFilteredPutSelfTest.java |   8 +-
 .../GridCachePartitionedLoadCacheSelfTest.java  |   6 +-
 ...hePartitionedQueryMultiThreadedSelfTest.java |   6 +-
 .../GridCachePartitionedStorePutSelfTest.java   |  10 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |   6 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |   6 +-
 ...achePartitionedTxSingleThreadedSelfTest.java |   6 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |   6 +-
 .../near/GridPartitionedBackupLoadSelfTest.java |   8 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |  37 ++++-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |   6 +-
 .../GridCacheReplicatedPreloadSelfTest.java     |  10 +-
 ...eplicatedPreloadStartStopEventsSelfTest.java |   4 +-
 ...heConcurrentEvictionConsistencySelfTest.java |   6 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |   6 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   6 +-
 .../eviction/GridCacheEvictionAbstractTest.java |   6 +-
 .../GridCacheEvictionFilterSelfTest.java        |   6 +-
 .../GridCacheEvictionLockUnlockSelfTest.java    |   6 +-
 .../GridCacheEvictionTouchSelfTest.java         |   6 +-
 ...heNearOnlyLruNearEvictionPolicySelfTest.java |   6 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   2 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   6 +-
 .../cache/local/GridCacheLocalLockSelfTest.java |   6 +-
 .../GridCacheLocalMultithreadedSelfTest.java    |   6 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   6 +-
 .../GridCacheSwapScanQueryAbstractSelfTest.java |   8 +-
 ...dCacheAbstractReduceFieldsQuerySelfTest.java |   8 +-
 .../clock/GridTimeSyncProcessorSelfTest.java    |   6 +-
 .../closure/GridClosureProcessorSelfTest.java   |   6 +-
 .../dataload/GridDataLoaderImplSelfTest.java    |   6 +-
 .../dataload/GridDataLoaderPerformanceTest.java |   6 +-
 .../GridDataLoaderProcessorSelfTest.java        |   6 +-
 ...heGgfsPerBlockLruEvictionPolicySelfTest.java |  12 +-
 .../processors/fs/GridGgfsCacheSelfTest.java    |   6 +-
 .../fs/GridGgfsDataManagerSelfTest.java         |   6 +-
 .../fs/GridGgfsMetaManagerSelfTest.java         |   6 +-
 .../processors/fs/GridGgfsModesSelfTest.java    |  12 +-
 .../fs/GridGgfsProcessorSelfTest.java           |   6 +-
 .../fs/GridGgfsProcessorValidationSelfTest.java |   6 +-
 .../processors/fs/GridGgfsSizeSelfTest.java     |   6 +-
 .../processors/fs/GridGgfsStreamsSelfTest.java  |   6 +-
 .../processors/fs/GridGgfsTaskSelfTest.java     |   6 +-
 .../cache/GridCacheCommandHandlerSelfTest.java  |   6 +-
 .../GridServiceProcessorAbstractSelfTest.java   |   6 +-
 .../streamer/GridStreamerEvictionSelfTest.java  |   6 +-
 .../streamer/GridStreamerFailoverSelfTest.java  |   6 +-
 ...artupWithSpecifiedWorkDirectorySelfTest.java |   6 +-
 ...tartupWithUndefinedGridGainHomeSelfTest.java |   6 +-
 .../ipc/shmem/IpcSharedMemoryNodeStartup.java   |   6 +-
 .../apache/ignite/lang/GridFuncSelfTest.java    |   6 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |   6 +-
 .../cache/GridCacheSingleNodeLoadTest.java      |  10 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |   6 +-
 .../communication/GridIoManagerBenchmark0.java  |  12 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |   6 +-
 .../multisplit/GridMultiSplitsLoadTest.java     |   8 +-
 ...ridSingleSplitsNewNodesAbstractLoadTest.java |   6 +-
 ...idSingleSplitsNewNodesMulticastLoadTest.java |   4 +-
 .../GridSingleSplitsRedeployLoadTest.java       |   8 +-
 .../direct/stealing/GridStealingLoadTest.java   |  12 +-
 .../swap/GridSwapEvictAllBenchmark.java         |  10 +-
 .../optimized/GridOptimizedMarshallerTest.java  |   6 +-
 .../GridP2PContinuousDeploymentSelfTest.java    |   6 +-
 .../p2p/GridP2PDoubleDeploymentSelfTest.java    |   6 +-
 .../GridP2PMissedResourceCacheSizeSelfTest.java |   6 +-
 ...SessionCancelSiblingsFromFutureSelfTest.java |   6 +-
 ...ridSessionCancelSiblingsFromJobSelfTest.java |   6 +-
 ...idSessionCancelSiblingsFromTaskSelfTest.java |   6 +-
 .../GridSessionCollisionSpiSelfTest.java        |  18 ++-
 .../session/GridSessionJobFailoverSelfTest.java |   2 +-
 .../GridSessionSetFutureAttributeSelfTest.java  |   6 +-
 ...nSetFutureAttributeWaitListenerSelfTest.java |   6 +-
 .../GridSessionSetJobAttributeSelfTest.java     |   6 +-
 ...sionSetJobAttributeWaitListenerSelfTest.java |   6 +-
 .../GridSessionWaitAttributeSelfTest.java       |   6 +-
 .../spi/GridTcpSpiForwardingSelfTest.java       |  53 +++++--
 ...idCacheCheckpointSpiSecondCacheSelfTest.java |  10 +-
 .../tcp/GridCacheDhtLockBackupSelfTest.java     |  68 +++++++--
 .../tcp/GridTcpClientDiscoverySelfTest.java     |  53 +++++--
 ...GridTcpDiscoveryMarshallerCheckSelfTest.java |   6 +-
 .../tcp/GridTcpDiscoveryMultiThreadedTest.java  |  10 +-
 .../discovery/tcp/GridTcpDiscoverySelfTest.java | 107 ++++++++-----
 .../GridTcpDiscoveryJdbcIpFinderSelfTest.java   |   4 +-
 .../vm/GridTcpDiscoveryVmIpFinderSelfTest.java  |   2 +-
 .../noop/GridNoopSwapSpaceSpiSelfTest.java      |   6 +-
 .../GridCacheStoreValueBytesNode.java           |  12 +-
 ...dGgfsHadoop20FileSystemAbstractSelfTest.java |  20 +--
 .../fs/GridGgfsHadoopDualAbstractSelfTest.java  |   6 +-
 ...ridGgfsHadoopFileSystemAbstractSelfTest.java |  20 +--
 .../GridGgfsHadoopFileSystemClientSelfTest.java |   6 +-
 ...idGgfsHadoopFileSystemHandshakeSelfTest.java |  10 +-
 ...ridGgfsHadoopFileSystemIpcCacheSelfTest.java |  10 +-
 ...GgfsHadoopFileSystemLoggerStateSelfTest.java |   6 +-
 ...fsHadoopFileSystemSecondaryModeSelfTest.java |  12 +-
 .../fs/GridGgfsNearOnlyMultiNodeSelfTest.java   |   6 +-
 .../hadoop/GridHadoopAbstractSelfTest.java      |   4 +-
 ...idHibernateL2CacheConfigurationSelfTest.java |   6 +-
 .../hibernate/GridHibernateL2CacheSelfTest.java |   6 +-
 .../GridCacheAbstractFieldsQuerySelfTest.java   |   8 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |   8 +-
 .../cache/GridCacheCrossCacheQuerySelfTest.java |   6 +-
 .../cache/GridCacheOffHeapAndSwapSelfTest.java  |   8 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |   6 +-
 .../cache/GridCacheQueryMetricsSelfTest.java    |   6 +-
 .../GridCacheQueryMultiThreadedSelfTest.java    |   8 +-
 .../GridCacheSqlQueryMultiThreadedSelfTest.java |   6 +-
 .../processors/cache/GridCacheSwapSelfTest.java |   6 +-
 .../cache/GridIndexingWithNoopSwapSelfTest.java |   8 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |   6 +-
 .../near/GridCacheQueryNodeRestartSelfTest.java |   6 +-
 .../query/h2/sql/GridQueryParsingTest.java      |   6 +-
 .../tcp/GridOrderedMessageCancelSelfTest.java   |  29 +++-
 .../GridTmLookupLifecycleAwareSelfTest.java     |   2 +-
 .../ignite/internal/GridFactorySelfTest.java    |  79 ++++++++--
 .../GridSpringBeanSerializationSelfTest.java    |   6 +-
 .../p2p/GridP2PUserVersionChangeSelfTest.java   |   6 +-
 .../spring/GridSpringCacheManagerSelfTest.java  |   6 +-
 .../GridSpringDynamicCacheManagerSelfTest.java  |   6 +-
 .../GridTaskUriDeploymentDeadlockSelfTest.java  |   4 +-
 .../ignite/p2p/GridP2PDisabledSelfTest.java     |   4 +-
 .../GridUriDeploymentClassLoaderSelfTest.java   |   2 +-
 ...riDeploymentClassloaderRegisterSelfTest.java |   2 +-
 .../uri/GridUriDeploymentConfigSelfTest.java    |  10 +-
 .../GridUriDeploymentFileProcessorSelfTest.java |   2 +-
 .../uri/GridUriDeploymentMd5CheckSelfTest.java  |   2 +-
 ...loymentMultiScannersErrorThrottlingTest.java |   2 +-
 .../GridUriDeploymentMultiScannersSelfTest.java |   2 +-
 .../uri/GridUriDeploymentSimpleSelfTest.java    |   2 +-
 .../file/GridFileDeploymentSelfTest.java        |   2 +-
 .../GridFileDeploymentUndeploySelfTest.java     |   2 +-
 .../uri/scanners/ftp/GridFtpDeploymentTest.java |   2 +-
 .../http/GridHttpDeploymentSelfTest.java        |   2 +-
 .../commands/alert/VisorAlertCommandSpec.scala  |  10 +-
 .../cache/VisorCacheClearCommandSpec.scala      |  10 +-
 .../cache/VisorCacheCompactCommandSpec.scala    |  10 +-
 .../cswap/VisorCacheSwapCommandSpec.scala       |  10 +-
 294 files changed, 2086 insertions(+), 1178 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/examples/src/main/java/org/apache/ignite/examples/compute/failover/ComputeFailoverNodeStartup.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/compute/failover/ComputeFailoverNodeStartup.java
 
b/examples/src/main/java/org/apache/ignite/examples/compute/failover/ComputeFailoverNodeStartup.java
index 9eba616..48436f1 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/compute/failover/ComputeFailoverNodeStartup.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/compute/failover/ComputeFailoverNodeStartup.java
@@ -55,22 +55,22 @@ public class ComputeFailoverNodeStartup {
         cfg.setPeerClassLoadingEnabled(true);
 
         // Configure checkpoint SPI.
-        SharedFsCheckpointSpi checkpointSpi = new SharedFsCheckpointSpi();
+        SharedFsCheckpointSpiConfiguration checkpointSpi = new 
SharedFsCheckpointSpiConfiguration();
 
         
checkpointSpi.setDirectoryPaths(Collections.singletonList("work/checkpoint/sharedfs"));
 
-        cfg.setCheckpointSpi(checkpointSpi);
+        cfg.setCheckpointSpiConfiguration(checkpointSpi);
 
         // Configure discovery SPI.
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
+        TcpDiscoveryVmIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration();
 
         ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47509"));
 
         discoSpi.setIpFinder(ipFinder);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/examples/src/main/java/org/apache/ignite/examples/datagrid/hibernate/HibernateL2CacheExampleNodeStartup.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/datagrid/hibernate/HibernateL2CacheExampleNodeStartup.java
 
b/examples/src/main/java/org/apache/ignite/examples/datagrid/hibernate/HibernateL2CacheExampleNodeStartup.java
index 8ebba72..fda6e1b 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/datagrid/hibernate/HibernateL2CacheExampleNodeStartup.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/datagrid/hibernate/HibernateL2CacheExampleNodeStartup.java
@@ -56,15 +56,15 @@ public class HibernateL2CacheExampleNodeStartup {
         cfg.setLocalHost("127.0.0.1");
         cfg.setRestEnabled(false);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
+        TcpDiscoveryVmIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration();
 
         
ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));
 
         discoSpi.setIpFinder(ipFinder);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         cfg.setCacheConfiguration(
             
cacheConfiguration("org.hibernate.cache.spi.UpdateTimestampsCache", ATOMIC),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
 
b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
index 4f0c654..5173b4f 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
@@ -57,9 +57,9 @@ public class CacheNodeWithStoreStartup {
         cfg.setLocalHost("127.0.0.1");
 
         // Discovery SPI.
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder();
+        TcpDiscoveryVmIpFinderConfiguration ipFinder = new 
TcpDiscoveryMulticastIpFinderConfiguration();
 
         ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47509"));
 
@@ -81,7 +81,7 @@ public class CacheNodeWithStoreStartup {
         cacheCfg.setReadThrough(true);
         cacheCfg.setWriteThrough(true);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
         cfg.setCacheConfiguration(cacheCfg);
 
         return cfg;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/examples/src/main/java/org/apache/ignite/examples/misc/client/memcache/MemcacheRestExampleNodeStartup.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/misc/client/memcache/MemcacheRestExampleNodeStartup.java
 
b/examples/src/main/java/org/apache/ignite/examples/misc/client/memcache/MemcacheRestExampleNodeStartup.java
index 612cda2..017f992 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/misc/client/memcache/MemcacheRestExampleNodeStartup.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/misc/client/memcache/MemcacheRestExampleNodeStartup.java
@@ -84,15 +84,15 @@ public class MemcacheRestExampleNodeStartup {
 
         cfg.setCacheConfiguration(cacheCfg);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
+        TcpDiscoveryVmIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration();
 
         
ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));
 
         discoSpi.setIpFinder(ipFinder);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarJvmCloudExample.scala
----------------------------------------------------------------------
diff --git 
a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarJvmCloudExample.scala
 
b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarJvmCloudExample.scala
index a5b8fd2..136cc58 100644
--- 
a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarJvmCloudExample.scala
+++ 
b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarJvmCloudExample.scala
@@ -24,8 +24,8 @@ import javax.swing.{JComponent, JLabel, JOptionPane}
 import org.apache.ignite.configuration.IgniteConfiguration
 import org.apache.ignite.internal.util.scala.impl
 import org.apache.ignite.scalar.scalar
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
+import org.apache.ignite.spi.discovery.tcp.{TcpDiscoverySpiConfiguration, 
TcpDiscoverySpi}
+import 
org.apache.ignite.spi.discovery.tcp.ipfinder.vm.{TcpDiscoveryVmIpFinderConfiguration,
 TcpDiscoveryVmIpFinder}
 
 /**
  * This example demonstrates how you can easily startup multiple nodes
@@ -45,7 +45,7 @@ object ScalarJvmCloudExample {
     def main(args: Array[String]) {
         try {
             // Shared IP finder for in-VM node discovery.
-            val ipFinder = new TcpDiscoveryVmIpFinder(true)
+            val ipFinder = new TcpDiscoveryVmIpFinderConfiguration(true)
 
             val pool = Executors.newFixedThreadPool(NODES.size)
 
@@ -59,11 +59,11 @@ object ScalarJvmCloudExample {
 
                     // Configure in-VM TCP discovery so we don't
                     // interfere with other ignites running on the same 
network.
-                    val discoSpi = new TcpDiscoverySpi
+                    val discoSpi = new TcpDiscoverySpiConfiguration
 
                     discoSpi.setIpFinder(ipFinder)
 
-                    cfg.setDiscoverySpi(discoSpi)
+                    cfg.setDiscoverySpiConfiguration(discoSpi)
 
                     // Start node
                     scalar.start(cfg)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java
index 3f43c4f..274e5bd 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java
@@ -54,7 +54,7 @@ import static org.apache.ignite.testframework.GridTestUtils.*;
  */
 public abstract class ClientAbstractMultiThreadedSelfTest extends 
GridCommonAbstractTest {
     /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Partitioned cache name. */
     protected static final String PARTITIONED_CACHE_NAME = "partitioned";
@@ -174,11 +174,11 @@ public abstract class ClientAbstractMultiThreadedSelfTest 
extends GridCommonAbst
 
         c.setClientConnectionConfiguration(clientCfg);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
         c.setCacheConfiguration(cacheConfiguration(null), 
cacheConfiguration(PARTITIONED_CACHE_NAME),
             cacheConfiguration(REPLICATED_CACHE_NAME), 
cacheConfiguration(PARTITIONED_ASYNC_BACKUP_CACHE_NAME),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/clients/src/test/java/org/apache/ignite/client/ClientDefaultCacheSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/ClientDefaultCacheSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/ClientDefaultCacheSelfTest.java
index 8452a99..f4cead7 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/ClientDefaultCacheSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/client/ClientDefaultCacheSelfTest.java
@@ -42,7 +42,7 @@ public class ClientDefaultCacheSelfTest extends 
GridCommonAbstractTest {
     private static final String REST_JETTY_CFG = 
"modules/clients/src/test/resources/jetty/rest-jetty.xml";
 
     /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Host. */
     private static final String HOST = "127.0.0.1";
@@ -96,11 +96,11 @@ public class ClientDefaultCacheSelfTest extends 
GridCommonAbstractTest {
 
         cfg.setClientConnectionConfiguration(clientCfg);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(disco);
+        cfg.setDiscoverySpiConfiguration(disco);
 
         CacheConfiguration cLocal = new CacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractMultiNodeSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractMultiNodeSelfTest.java
index cfa0cc6..1330c1c 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractMultiNodeSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractMultiNodeSelfTest.java
@@ -60,7 +60,7 @@ import static 
org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
 @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
 public abstract class ClientAbstractMultiNodeSelfTest extends 
GridCommonAbstractTest {
     /** */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Partitioned cache name. */
     private static final String PARTITIONED_CACHE_NAME = "partitioned";
@@ -148,17 +148,17 @@ public abstract class ClientAbstractMultiNodeSelfTest 
extends GridCommonAbstract
             c.setClientConnectionConfiguration(clientCfg);
         }
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
-        TestCommunicationSpi spi = new TestCommunicationSpi();
+        TestCommunicationSpiConfiguration spi = new 
TestCommunicationSpiConfiguration();
 
         spi.setLocalPort(GridTestUtils.getNextCommPort(getClass()));
 
-        c.setCommunicationSpi(spi);
+        c.setCommunicationSpiConfiguration(spi);
 
         c.setCacheConfiguration(cacheConfiguration(null), 
cacheConfiguration(PARTITIONED_CACHE_NAME),
             cacheConfiguration(REPLICATED_CACHE_NAME), 
cacheConfiguration(REPLICATED_ASYNC_CACHE_NAME));
@@ -756,10 +756,29 @@ public abstract class ClientAbstractMultiNodeSelfTest 
extends GridCommonAbstract
     }
 
     /**
+     *
+     */
+    public static class TestCommunicationSpiConfiguration extends 
TcpCommunicationSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends TcpCommunicationSpi> spiClass() {
+            return TestCommunicationSpi.class;
+        }
+    }
+
+    /**
      * Communication SPI which checks cache flags.
      */
     @SuppressWarnings("unchecked")
-    private static class TestCommunicationSpi extends TcpCommunicationSpi {
+    public static class TestCommunicationSpi extends TcpCommunicationSpi {
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public TestCommunicationSpi(TestCommunicationSpiConfiguration spiCfg) {
+            super(spiCfg);
+        }
+
         /** {@inheritDoc} */
         @Override public void sendMessage(ClusterNode node, 
GridTcpCommunicationMessageAdapter msg)
             throws IgniteSpiException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
index e8a1769..ebb044f 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
@@ -53,7 +53,7 @@ import static org.apache.ignite.testframework.GridTestUtils.*;
 @SuppressWarnings("deprecation")
 public abstract class ClientAbstractSelfTest extends GridCommonAbstractTest {
     /** */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** */
     private static final String CACHE_NAME = "cache";
@@ -209,11 +209,11 @@ public abstract class ClientAbstractSelfTest extends 
GridCommonAbstractTest {
 
         cfg.setClientConnectionConfiguration(clientCfg);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(disco);
+        cfg.setDiscoverySpiConfiguration(disco);
 
         cfg.setCacheConfiguration(cacheConfiguration(null), 
cacheConfiguration("replicated"),
             cacheConfiguration("partitioned"), cacheConfiguration(CACHE_NAME));
@@ -236,7 +236,7 @@ public abstract class ClientAbstractSelfTest extends 
GridCommonAbstractTest {
         });
 
         // Specify swap SPI, otherwise test fails on windows.
-        cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
+        cfg.setSwapSpaceSpiConfiguration(new FileSwapSpaceSpiConfiguration());
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java
index cb0a4ee..3876d96 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java
@@ -37,7 +37,7 @@ import java.util.concurrent.*;
  */
 public class RestProcessorStartSelfTest extends GridCommonAbstractTest {
     /** */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** */
     private static final String HOST = "127.0.0.1";
@@ -46,10 +46,10 @@ public class RestProcessorStartSelfTest extends 
GridCommonAbstractTest {
     public static final int TCP_PORT = 11222;
 
     /** */
-    private CountDownLatch gridReady;
+    private static CountDownLatch gridReady;
 
     /** */
-    private CountDownLatch proceed;
+    private static CountDownLatch proceed;
 
     /** {@inheritDoc}*/
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
@@ -65,11 +65,11 @@ public class RestProcessorStartSelfTest extends 
GridCommonAbstractTest {
 
         cfg.setClientConnectionConfiguration(clientCfg);
 
-        TestDiscoverySpi disc = new TestDiscoverySpi();
+        TestDiscoverySpiConfiguration disc = new 
TestDiscoverySpiConfiguration();
 
         disc.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(disc);
+        cfg.setDiscoverySpiConfiguration(disc);
 
         return cfg;
     }
@@ -144,9 +144,26 @@ public class RestProcessorStartSelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * Test SPI configuration.
+     */
+    public static class TestDiscoverySpiConfiguration extends 
TcpDiscoverySpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends TcpDiscoverySpi> spiClass() {
+            return TestDiscoverySpi.class;
+        }
+    }
+
+    /**
      * Test SPI.
      */
-    private class TestDiscoverySpi extends TcpDiscoverySpi {
+    public static class TestDiscoverySpi extends TcpDiscoverySpi {
+        /**
+         *
+         */
+        public TestDiscoverySpi(TestDiscoverySpiConfiguration spiCfg) {
+            super(spiCfg);
+        }
+
         /** {@inheritDoc} */
         @Override public void spiStart(@Nullable String gridName) throws 
IgniteSpiException {
             gridReady.countDown();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 26d06a5..c6e5e8d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -3221,7 +3221,7 @@ public class IgniteConfiguration {
         return indexingSpi;
     }
 
-    public DiscoverySpi setDiscoverySpi(DiscoverySpi discoverySpi) {
+/*    public DiscoverySpi setDiscoverySpi(DiscoverySpi discoverySpi) {
         return this.discoverySpi = discoverySpi;
     }
 
@@ -3267,5 +3267,5 @@ public class IgniteConfiguration {
 
     public void setIndexingSpi(GridIndexingSpi indexingSpi) {
         this.indexingSpi = indexingSpi;
-    }
+    }*/
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 5d110e7..92780c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -1839,18 +1839,18 @@ public class IgnitionEx {
             if (indexingSpi == null)
                 indexingSpi = new GridNoopIndexingSpi();
 
-            myCfg.setCommunicationSpi(commSpi);
-            myCfg.setDiscoverySpi(discoSpi);
-            myCfg.setCheckpointSpi(cpSpi);
-            myCfg.setEventStorageSpi(evtSpi);
-            myCfg.setAuthenticationSpi(authSpi);
-            myCfg.setSecureSessionSpi(sesSpi);
-            myCfg.setDeploymentSpi(deploySpi);
-            myCfg.setFailoverSpi(failSpi);
-            myCfg.setCollisionSpi(colSpi);
-            myCfg.setLoadBalancingSpi(loadBalancingSpi);
-            myCfg.setSwapSpaceSpi(swapspaceSpi);
-            myCfg.setIndexingSpi(indexingSpi);
+//            myCfg.setCommunicationSpi(commSpi);
+//            myCfg.setDiscoverySpi(discoSpi);
+//            myCfg.setCheckpointSpi(cpSpi);
+//            myCfg.setEventStorageSpi(evtSpi);
+//            myCfg.setAuthenticationSpi(authSpi);
+//            myCfg.setSecureSessionSpi(sesSpi);
+//            myCfg.setDeploymentSpi(deploySpi);
+//            myCfg.setFailoverSpi(failSpi);
+//            myCfg.setCollisionSpi(colSpi);
+//            myCfg.setLoadBalancingSpi(loadBalancingSpi);
+//            myCfg.setSwapSpaceSpi(swapspaceSpi);
+//            myCfg.setIndexingSpi(indexingSpi);
 
             myCfg.setAddressResolver(cfg.getAddressResolver());
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpiConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpiConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpiConfiguration.java
index d1e6e1f..83bf118 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpiConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpiConfiguration.java
@@ -43,7 +43,7 @@ public class SharedFsCheckpointSpiConfiguration implements 
CheckpointSpiConfigur
     private Collection<String> dirPaths = U.sealList(DFLT_DIR_PATH);
 
     /** {@inheritDoc} */
-    @Override public Class<SharedFsCheckpointSpi> spiClass() {
+    @Override public Class<? extends SharedFsCheckpointSpi> spiClass() {
         return SharedFsCheckpointSpi.class;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiConfiguration.java
index b63641e..2c9dd79 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiConfiguration.java
@@ -46,7 +46,7 @@ public class FifoQueueCollisionSpiConfiguration implements 
CollisionSpiConfigura
     private int waitJobsNum = DFLT_WAIT_JOBS_NUM;
 
     /** {@inheritDoc }*/
-    @Override public Class<FifoQueueCollisionSpi> spiClass() {
+    @Override public Class<? extends FifoQueueCollisionSpi> spiClass() {
         return FifoQueueCollisionSpi.class;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpiConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpiConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpiConfiguration.java
index 2457aff..bcb032b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpiConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpiConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.ignite.spi.deployment.*;
 @IgnoreIfPeerClassLoadingDisabled
 public class LocalDeploymentSpiConfiguration implements 
DeploymentSpiConfiguration<LocalDeploymentSpi> {
     /** {@inheritDoc} */
-    @Override public Class<LocalDeploymentSpi> spiClass() {
+    @Override public Class<? extends LocalDeploymentSpi> spiClass() {
         return LocalDeploymentSpi.class;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
index 8b0fc13..4560c4d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
@@ -35,12 +35,24 @@ public abstract class TcpDiscoveryIpFinderAdapter 
implements TcpDiscoveryIpFinde
     @GridToStringExclude
     private volatile IgniteSpiContext spiCtx;
 
+    /**
+     * Create IP finder from configuration.
+     *
+     * @param cfg IP finder configuration.
+     */
     protected 
TcpDiscoveryIpFinderAdapter(TcpDiscoveryIpFinderAdapterConfiguration cfg) {
         A.ensure(cfg.getClass().equals(this.getClass()), "configuration must 
have the same class that ip finder");
 
         shared = cfg.isShared();
     }
 
+    /**
+     *
+     */
+    protected TcpDiscoveryIpFinderAdapter(){
+        shared = false;
+    }
+
     /** {@inheritDoc} */
     @Override public void onSpiContextInitialized(IgniteSpiContext spiCtx) 
throws IgniteSpiException {
         this.spiCtx = spiCtx;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.java
index 6140f92..b22b42c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.java
@@ -133,7 +133,7 @@ public class JobStealingFailoverSpi extends 
IgniteSpiAdapter implements Failover
     public JobStealingFailoverSpi(JobStealingFailoverSpiConfiguration spiCfg) {
         super(spiCfg);
 
-        maxFailoverAttempts = spiCfg.getMaxFailoverAttempts();
+        maxFailoverAttempts = spiCfg.getMaximumFailoverAttempts();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpiConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpiConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpiConfiguration.java
index 6d7b8d6..87bc978 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpiConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpiConfiguration.java
@@ -53,7 +53,7 @@ public class JobStealingFailoverSpiConfiguration implements 
FailoverSpiConfigura
         this.maxFailoverAttempts = maxFailoverAttempts;
     }
 
-    public int getMaxFailoverAttempts() {
+    public int getMaximumFailoverAttempts() {
         return maxFailoverAttempts;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpiConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpiConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpiConfiguration.java
index c0be0a2..10852b1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpiConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpiConfiguration.java
@@ -30,7 +30,7 @@ public class RoundRobinLoadBalancingSpiConfiguration
     private boolean isPerTask;
 
     /** {@inheritDoc} */
-    @Override public Class<RoundRobinLoadBalancingSpi> spiClass() {
+    @Override public Class<? extends RoundRobinLoadBalancingSpi> spiClass() {
         return RoundRobinLoadBalancingSpi.class;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
index 28e5325..937c684 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
@@ -33,7 +33,7 @@ import java.util.*;
  */
 public class GridCachePartitionFairAffinityNodesSelfTest extends 
GridCommonAbstractTest {
     /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Number of backups. */
     private int backups;
@@ -82,11 +82,11 @@ public class GridCachePartitionFairAffinityNodesSelfTest 
extends GridCommonAbstr
 
         cfg.setCacheConfiguration(ccfg);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
         discoSpi.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/AbstractJdbcCacheStoreMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/AbstractJdbcCacheStoreMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/AbstractJdbcCacheStoreMultithreadedSelfTest.java
index c263ceb..2f9d1a0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/AbstractJdbcCacheStoreMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/AbstractJdbcCacheStoreMultithreadedSelfTest.java
@@ -51,7 +51,7 @@ public abstract class 
AbstractJdbcCacheStoreMultithreadedSelfTest<T extends Jdbc
     protected static final String DFLT_CONN_URL = 
"jdbc:h2:mem:autoCacheStore;DB_CLOSE_DELAY=-1";
 
     /** IP finder. */
-    protected static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    protected static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Number of transactions. */
     private static final int TX_CNT = 1000;
@@ -107,11 +107,11 @@ public abstract class 
AbstractJdbcCacheStoreMultithreadedSelfTest<T extends Jdbc
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
         CacheConfiguration cc = defaultCacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
index 691cf9d..3845b3c 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
@@ -47,7 +47,7 @@ import static org.apache.ignite.testframework.GridTestUtils.*;
  */
 public class GridCacheJdbcBlobStoreMultithreadedSelfTest extends 
GridCommonAbstractTest {
     /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Number of grids to start. */
     private static final int GRID_CNT = 5;
@@ -83,11 +83,11 @@ public class GridCacheJdbcBlobStoreMultithreadedSelfTest 
extends GridCommonAbstr
     @Override protected final IgniteConfiguration getConfiguration(String 
gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(IP_FINDER);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
         CacheConfiguration cc = defaultCacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/fs/GridGgfsEventsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/fs/GridGgfsEventsAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/fs/GridGgfsEventsAbstractSelfTest.java
index 0b2e8d5..6be7386 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/fs/GridGgfsEventsAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/fs/GridGgfsEventsAbstractSelfTest.java
@@ -125,11 +125,11 @@ public abstract class GridGgfsEventsAbstractSelfTest 
extends GridCommonAbstractT
 
         cfg.setHadoopConfiguration(null);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        discoSpi.setIpFinder(new TcpDiscoveryVmIpFinder(true));
+        discoSpi.setIpFinder(new TcpDiscoveryVmIpFinderConfiguration(true));
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityMappedTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityMappedTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityMappedTest.java
index b2516bc..da5a6ac 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityMappedTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityMappedTest.java
@@ -38,7 +38,7 @@ import static org.apache.ignite.cache.CacheMode.*;
  */
 public class GridAffinityMappedTest extends GridCommonAbstractTest {
     /** VM ip finder for TCP discovery. */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
+    private static TcpDiscoveryIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /**
      *
@@ -51,10 +51,10 @@ public class GridAffinityMappedTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
         disco.setMaxMissedHeartbeats(Integer.MAX_VALUE);
         disco.setIpFinder(ipFinder);
-        cfg.setDiscoverySpi(disco);
+        cfg.setDiscoverySpiConfiguration(disco);
 
         if (gridName.endsWith("1"))
             cfg.setCacheConfiguration(); // Empty cache configuration.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityP2PSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityP2PSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityP2PSelfTest.java
index b678910..0a9ae96 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityP2PSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityP2PSelfTest.java
@@ -41,7 +41,7 @@ import static org.apache.ignite.cache.CacheMode.*;
  */
 public class GridAffinityP2PSelfTest extends GridCommonAbstractTest {
     /** VM ip finder for TCP discovery. */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
+    private static TcpDiscoveryIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** */
     private static final String EXT_AFFINITY_MAPPER_CLS_NAME = 
"org.gridgain.grid.tests.p2p.GridExternalAffinityMapper";
@@ -79,12 +79,12 @@ public class GridAffinityP2PSelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setMaxMissedHeartbeats(Integer.MAX_VALUE);
         disco.setIpFinder(ipFinder);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
         c.setDeploymentMode(depMode);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridAffinitySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinitySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinitySelfTest.java
index f0cc104..a25f025 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinitySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinitySelfTest.java
@@ -38,18 +38,18 @@ import static org.apache.ignite.cache.CacheMode.*;
  */
 public class GridAffinitySelfTest extends GridCommonAbstractTest {
     /** VM ip finder for TCP discovery. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setMaxMissedHeartbeats(Integer.MAX_VALUE);
         disco.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(disco);
+        cfg.setDiscoverySpiConfiguration(disco);
 
         if (gridName.endsWith("1"))
             cfg.setCacheConfiguration(); // Empty cache configuration.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridAlwaysFailoverSpiFailSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAlwaysFailoverSpiFailSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAlwaysFailoverSpiFailSelfTest.java
index 88c97a7..db77f58 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridAlwaysFailoverSpiFailSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridAlwaysFailoverSpiFailSelfTest.java
@@ -35,7 +35,7 @@ import java.util.*;
 @GridCommonTest(group = "Kernal Self")
 public class GridAlwaysFailoverSpiFailSelfTest extends GridCommonAbstractTest {
     /** */
-    private boolean isFailoverCalled;
+    private static boolean isFailoverCalled;
 
     /** */
     public GridAlwaysFailoverSpiFailSelfTest() {
@@ -46,7 +46,7 @@ public class GridAlwaysFailoverSpiFailSelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration() throws 
Exception {
         IgniteConfiguration cfg = super.getConfiguration();
 
-        cfg.setFailoverSpi(new GridTestFailoverSpi());
+        cfg.setFailoverSpiConfiguration(new 
GridTestFailoverSpiConfiguration());
 
         return cfg;
     }
@@ -99,8 +99,27 @@ public class GridAlwaysFailoverSpiFailSelfTest extends 
GridCommonAbstractTest {
         assert !isFailoverCalled;
     }
 
+    /**
+     *
+     */
+    public class GridTestFailoverSpiConfiguration extends 
AlwaysFailoverSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends AlwaysFailoverSpi> spiClass() {
+            return GridTestFailoverSpi.class;
+        }
+    }
+
     /** */
-    private class GridTestFailoverSpi extends AlwaysFailoverSpi {
+    public class GridTestFailoverSpi extends AlwaysFailoverSpi {
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public GridTestFailoverSpi(GridTestFailoverSpiConfiguration spiCfg) {
+            super(spiCfg);
+        }
+
         /** {@inheritDoc} */
         @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> grid) {
             isFailoverCalled = true;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridCancelUnusedJobSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCancelUnusedJobSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCancelUnusedJobSelfTest.java
index e9a4e8c..37acad3 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCancelUnusedJobSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCancelUnusedJobSelfTest.java
@@ -63,11 +63,11 @@ public class GridCancelUnusedJobSelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
-        discoSpi.setIpFinder(new TcpDiscoveryVmIpFinder(true));
+        discoSpi.setIpFinder(new TcpDiscoveryVmIpFinderConfiguration(true));
 
-        c.setDiscoverySpi(discoSpi);
+        c.setDiscoverySpiConfiguration(discoSpi);
 
         c.setExecutorService(
             new ThreadPoolExecutor(

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridCancelledJobsMetricsSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCancelledJobsMetricsSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCancelledJobsMetricsSelfTest.java
index 2b0e21f..d5fd0fe 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCancelledJobsMetricsSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCancelledJobsMetricsSelfTest.java
@@ -39,7 +39,7 @@ import java.util.*;
 public class GridCancelledJobsMetricsSelfTest extends GridCommonAbstractTest {
 
     /** */
-    private static GridCancelCollisionSpi colSpi = new 
GridCancelCollisionSpi();
+    private static GridCancelCollisionSpiConfiguration colSpi = new 
GridCancelCollisionSpiConfiguration();
 
     /** */
     public GridCancelledJobsMetricsSelfTest() {
@@ -51,7 +51,7 @@ public class GridCancelledJobsMetricsSelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration() throws 
Exception {
         IgniteConfiguration cfg = super.getConfiguration();
 
-        cfg.setCollisionSpi(colSpi);
+        cfg.setCollisionSpiConfiguration(colSpi);
 
         DiscoverySpi discoSpi = cfg.getDiscoverySpi();
 
@@ -85,7 +85,7 @@ public class GridCancelledJobsMetricsSelfTest extends 
GridCommonAbstractTest {
             }
         }, 5000);
 
-        colSpi.externalCollision();
+        
((GridCancelCollisionSpi)ignite.configuration().getCollisionSpi()).externalCollision();
 
         for (ComputeTaskFuture<?> fut : futs) {
             try {
@@ -157,6 +157,18 @@ public class GridCancelledJobsMetricsSelfTest extends 
GridCommonAbstractTest {
      *
      */
     @IgniteSpiMultipleInstancesSupport(true)
+    public static class GridCancelCollisionSpiConfiguration
+        implements CollisionSpiConfiguration<GridCancelCollisionSpi> {
+        /** {@inheritDoc} */
+        @Override public Class<? extends GridCancelCollisionSpi> spiClass() {
+            return GridCancelCollisionSpi.class;
+        }
+    }
+
+    /**
+     *
+     */
+    @IgniteSpiMultipleInstancesSupport(true)
     private static class GridCancelCollisionSpi extends IgniteSpiAdapter
         implements CollisionSpi {
         /** */
@@ -166,6 +178,15 @@ public class GridCancelledJobsMetricsSelfTest extends 
GridCommonAbstractTest {
         /** */
         private CollisionExternalListener lsnr;
 
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public GridCancelCollisionSpi(GridCancelCollisionSpiConfiguration 
spiCfg) {
+            super(spiCfg);
+        }
+
         /** {@inheritDoc} */
         @Override public void onCollision(CollisionContext ctx) {
             Collection<CollisionJobContext> activeJobs = ctx.activeJobs();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridCollisionJobsContextSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCollisionJobsContextSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCollisionJobsContextSelfTest.java
index 48a5d88..8548a84 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridCollisionJobsContextSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridCollisionJobsContextSelfTest.java
@@ -48,7 +48,7 @@ public class GridCollisionJobsContextSelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        cfg.setCollisionSpi(new TestCollisionSpi());
+        cfg.setCollisionSpiConfiguration(new TestCollisionSpiConfiguration());
 
         return cfg;
     }
@@ -60,6 +60,16 @@ public class GridCollisionJobsContextSelfTest extends 
GridCommonAbstractTest {
         G.ignite(getTestGridName()).compute().execute(new GridTestTask(), 
"some-arg");
     }
 
+    /**
+     *
+     */
+    public static class TestCollisionSpiConfiguration implements 
CollisionSpiConfiguration<TestCollisionSpi> {
+        /** {@inheritDoc} */
+        @Override public Class<? extends TestCollisionSpi> spiClass() {
+            return TestCollisionSpi.class;
+        }
+    }
+
     /** */
     @SuppressWarnings( {"PublicInnerClass"})
     @IgniteSpiMultipleInstancesSupport(true)
@@ -68,6 +78,10 @@ public class GridCollisionJobsContextSelfTest extends 
GridCommonAbstractTest {
         @IgniteLoggerResource
         private IgniteLogger log;
 
+        public TestCollisionSpi(TestCollisionSpiConfiguration spiCfg) {
+            super(spiCfg);
+        }
+
         /** {@inheritDoc} */
         @Override public void onCollision(CollisionContext ctx) {
             Collection<CollisionJobContext> activeJobs = ctx.activeJobs();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDeploymentSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDeploymentSelfTest.java
index 102e9c2..53843fb 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDeploymentSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDeploymentSelfTest.java
@@ -40,26 +40,13 @@ import static org.apache.ignite.events.IgniteEventType.*;
 @GridCommonTest(group = "Kernal Self")
 public class GridDeploymentSelfTest extends GridCommonAbstractTest {
     /** */
-    private TestDeploymentSpi depSpi;
-
-    /** */
     private boolean p2pEnabled = true;
 
     /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        depSpi = new TestDeploymentSpi();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        depSpi = null;
-    }
-
-    /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        cfg.setDeploymentSpi(depSpi = new TestDeploymentSpi());
+        cfg.setDeploymentSpiConfiguration(new 
TestDeploymentSpiConfiguration());
         cfg.setPeerClassLoadingEnabled(p2pEnabled);
 
         // Disable cache since it can deploy some classes during start process.
@@ -102,6 +89,8 @@ public class GridDeploymentSelfTest extends 
GridCommonAbstractTest {
     public void testDeploy() throws Exception {
         Ignite ignite = startGrid(getTestGridName());
 
+        TestDeploymentSpi depSpi = 
(TestDeploymentSpi)ignite.configuration().getDeploymentSpi();
+
         try {
             ignite.compute().localDeployTask(GridDeploymentTestTask.class, 
GridDeploymentTestTask.class.getClassLoader());
 
@@ -132,6 +121,8 @@ public class GridDeploymentSelfTest extends 
GridCommonAbstractTest {
 
         Ignite ignite = startGrid(getTestGridName());
 
+        TestDeploymentSpi depSpi = 
(TestDeploymentSpi)ignite.configuration().getDeploymentSpi();
+
         try {
             ignite.compute().localDeployTask(GridDeploymentTestTask.class, 
GridDeploymentTestTask.class.getClassLoader());
 
@@ -155,6 +146,8 @@ public class GridDeploymentSelfTest extends 
GridCommonAbstractTest {
         Ignite ignite = startGrid(getTestGridName());
 
         try {
+            TestDeploymentSpi depSpi = 
(TestDeploymentSpi)ignite.configuration().getDeploymentSpi();
+
             // Added to work with P2P.
             ignite.compute().localDeployTask(GridDeploymentTestTask.class, 
GridDeploymentTestTask.class.getClassLoader());
 
@@ -292,6 +285,8 @@ public class GridDeploymentSelfTest extends 
GridCommonAbstractTest {
         Ignite ignite = startGrid(getTestGridName());
 
         try {
+            TestDeploymentSpi depSpi = 
(TestDeploymentSpi)ignite.configuration().getDeploymentSpi();
+
             DeploymentEventListener evtLsnr = new DeploymentEventListener();
 
             ignite.events().localListen(evtLsnr, EVT_TASK_DEPLOYED, 
EVT_TASK_UNDEPLOYED);
@@ -451,15 +446,31 @@ public class GridDeploymentSelfTest extends 
GridCommonAbstractTest {
 
     /**
      *
+     */
+    public static class TestDeploymentSpiConfiguration extends 
LocalDeploymentSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends LocalDeploymentSpi> spiClass() {
+            return TestDeploymentSpi.class;
+        }
+    }
+
+    /**
      * Test deployment spi.
      */
-    private static class TestDeploymentSpi extends LocalDeploymentSpi {
+    public static class TestDeploymentSpi extends LocalDeploymentSpi {
         /** */
         private volatile int deployCnt;
 
         /** */
         private volatile int undeployCnt;
 
+        /**
+         *
+         */
+        public TestDeploymentSpi(TestDeploymentSpiConfiguration cfg) {
+            super(cfg);
+        }
+
         /** {@inheritDoc} */
         @Override public boolean register(ClassLoader ldr, Class rsrc) throws 
IgniteSpiException {
             if (super.register(ldr, rsrc)) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoveryEventSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoveryEventSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoveryEventSelfTest.java
index cc230d0..c459c0f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoveryEventSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoveryEventSelfTest.java
@@ -40,7 +40,7 @@ import static org.apache.ignite.events.IgniteEventType.*;
  */
 public class GridDiscoveryEventSelfTest extends GridCommonAbstractTest {
     /** */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
+    private static TcpDiscoveryIpFinderConfiguration ipFinder = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** Daemon flag. */
     private boolean daemon;
@@ -69,11 +69,11 @@ public class GridDiscoveryEventSelfTest extends 
GridCommonAbstractTest {
 
         c.setDaemon(daemon);
 
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration disco = new 
TcpDiscoverySpiConfiguration();
 
         disco.setIpFinder(ipFinder);
 
-        c.setDiscoverySpi(disco);
+        c.setDiscoverySpiConfiguration(disco);
 
         c.setRestEnabled(false);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
index 36e14e1..027349d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
@@ -45,7 +45,7 @@ import static org.apache.ignite.lang.IgniteProductVersion.*;
  */
 public class GridDiscoverySelfTest extends GridCommonAbstractTest {
     /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+    private static final TcpDiscoveryIpFinderConfiguration IP_FINDER = new 
TcpDiscoveryVmIpFinderConfiguration(true);
 
     /** */
     private static Ignite ignite;
@@ -65,11 +65,11 @@ public class GridDiscoverySelfTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+        TcpDiscoverySpiConfiguration discoSpi = new 
TcpDiscoverySpiConfiguration();
 
         discoSpi.setIpFinder(IP_FINDER);
 
-        cfg.setDiscoverySpi(discoSpi);
+        cfg.setDiscoverySpiConfiguration(discoSpi);
 
         CacheConfiguration cacheCfg = defaultCacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverCustomTopologySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverCustomTopologySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverCustomTopologySelfTest.java
index cb4da2d..dae357a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverCustomTopologySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverCustomTopologySelfTest.java
@@ -36,7 +36,7 @@ import java.util.concurrent.atomic.*;
 @GridCommonTest(group = "Kernal Self")
 public class GridFailoverCustomTopologySelfTest extends GridCommonAbstractTest 
{
     /** */
-    private final AtomicInteger failCnt = new AtomicInteger(0);
+    private static final AtomicInteger failCnt = new AtomicInteger(0);
 
     /** */
     private static final Object mux = new Object();
@@ -53,14 +53,7 @@ public class GridFailoverCustomTopologySelfTest extends 
GridCommonAbstractTest {
 
         cfg.setNodeId(null);
 
-        cfg.setFailoverSpi(new AlwaysFailoverSpi() {
-            /** {@inheritDoc} */
-            @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> top) {
-                failCnt.incrementAndGet();
-
-                return super.failover(ctx, top);
-            }
-        });
+        cfg.setFailoverSpiConfiguration(new 
TestAlwaysFailoverSpiConfiguration());
 
         return cfg;
     }
@@ -185,4 +178,35 @@ public class GridFailoverCustomTopologySelfTest extends 
GridCommonAbstractTest {
             return results.get(0).getData();
         }
     }
+
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpiConfiguration extends 
AlwaysFailoverSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends AlwaysFailoverSpi> spiClass() {
+            return TestAlwaysFailoverSpi.class;
+        }
+    }
+
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpi extends AlwaysFailoverSpi {
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public TestAlwaysFailoverSpi(TestAlwaysFailoverSpiConfiguration 
spiCfg) {
+            super(spiCfg);
+        }
+
+        /** {@inheritDoc} */
+        @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> top) {
+            failCnt.incrementAndGet();
+
+            return super.failover(ctx, top);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTaskWithPredicateSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTaskWithPredicateSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTaskWithPredicateSelfTest.java
index fd8fe97..d5e319b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTaskWithPredicateSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTaskWithPredicateSelfTest.java
@@ -54,7 +54,7 @@ public class GridFailoverTaskWithPredicateSelfTest extends 
GridCommonAbstractTes
     };
 
     /** Whether delegating fail over node was found or not. */
-    private final AtomicBoolean routed = new AtomicBoolean();
+    private static final AtomicBoolean routed = new AtomicBoolean();
 
     /** Whether job execution failed with exception. */
     private final AtomicBoolean failed = new AtomicBoolean();
@@ -63,19 +63,7 @@ public class GridFailoverTaskWithPredicateSelfTest extends 
GridCommonAbstractTes
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        cfg.setFailoverSpi(new AlwaysFailoverSpi() {
-            /** {@inheritDoc} */
-            @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> grid) {
-                ClusterNode failoverNode = super.failover(ctx, grid);
-
-                if (failoverNode != null)
-                    routed.set(true);
-                else
-                    routed.set(false);
-
-                return failoverNode;
-            }
-        });
+        cfg.setFailoverSpiConfiguration(new 
TestAlwaysFailoverSpiConfiguration());
 
         cfg.setMarshaller(new IgniteOptimizedMarshaller(false));
 
@@ -245,4 +233,40 @@ public class GridFailoverTaskWithPredicateSelfTest extends 
GridCommonAbstractTes
         }
     }
 
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpiConfiguration extends 
AlwaysFailoverSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends AlwaysFailoverSpi> spiClass() {
+            return TestAlwaysFailoverSpi.class;
+        }
+    }
+
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpi extends AlwaysFailoverSpi {
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public TestAlwaysFailoverSpi(TestAlwaysFailoverSpiConfiguration 
spiCfg) {
+            super(spiCfg);
+        }
+
+        /** {@inheritDoc} */
+        @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> grid) {
+            ClusterNode failoverNode = super.failover(ctx, grid);
+
+            if (failoverNode != null)
+                routed.set(true);
+            else
+                routed.set(false);
+
+            return failoverNode;
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6416777d/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTopologySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTopologySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTopologySelfTest.java
index 8d01f34..24d7279 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTopologySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridFailoverTopologySelfTest.java
@@ -36,7 +36,7 @@ import java.util.concurrent.atomic.*;
 @GridCommonTest(group = "Kernal Self")
 public class GridFailoverTopologySelfTest extends GridCommonAbstractTest {
     /** */
-    private final AtomicBoolean failed = new AtomicBoolean(false);
+    private static final AtomicBoolean failed = new AtomicBoolean(false);
 
     /** */
     public GridFailoverTopologySelfTest() {
@@ -49,32 +49,7 @@ public class GridFailoverTopologySelfTest extends 
GridCommonAbstractTest {
 
         cfg.setNodeId(null);
 
-        cfg.setFailoverSpi(new AlwaysFailoverSpi() {
-            /** Ignite instance. */
-            @IgniteInstanceResource
-            private Ignite ignite;
-
-            /** {@inheritDoc} */
-            @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> grid) {
-                if (grid.size() != 1) {
-                    failed.set(true);
-
-                    error("Unexpected grid size [expected=1, grid=" + grid + 
']');
-                }
-
-                UUID locNodeId = ignite.configuration().getNodeId();
-
-                for (ClusterNode node : grid) {
-                    if (node.id().equals(locNodeId)) {
-                        failed.set(true);
-
-                        error("Grid shouldn't contain local node 
[localNodeId=" + locNodeId + ", grid=" + grid + ']');
-                    }
-                }
-
-                return super.failover(ctx, grid);
-            }
-        });
+        cfg.setFailoverSpiConfiguration(new 
TestAlwaysFailoverSpiConfiguration());
 
         return cfg;
     }
@@ -157,4 +132,54 @@ public class GridFailoverTopologySelfTest extends 
GridCommonAbstractTest {
             return results.get(0).getData();
         }
     }
+
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpiConfiguration extends 
AlwaysFailoverSpiConfiguration {
+        /** {@inheritDoc} */
+        @Override public Class<? extends AlwaysFailoverSpi> spiClass() {
+            return TestAlwaysFailoverSpi.class;
+        }
+    }
+
+    /**
+     *
+     */
+    public static class TestAlwaysFailoverSpi extends AlwaysFailoverSpi {
+        /** Ignite instance. */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /**
+         * Create SPI from configuration object.
+         *
+         * @param spiCfg SPI configuration.
+         */
+        public TestAlwaysFailoverSpi(TestAlwaysFailoverSpiConfiguration 
spiCfg) {
+            super(spiCfg);
+        }
+
+        /** {@inheritDoc} */
+        @Override public ClusterNode failover(FailoverContext ctx, 
List<ClusterNode> grid) {
+            if (grid.size() != 1) {
+                failed.set(true);
+
+                ignite.log().error("Unexpected grid size [expected=1, grid=" + 
grid + ']');
+            }
+
+            UUID locNodeId = ignite.configuration().getNodeId();
+
+            for (ClusterNode node : grid) {
+                if (node.id().equals(locNodeId)) {
+                    failed.set(true);
+
+                    ignite.log().error("Grid shouldn't contain local node 
[localNodeId="
+                        + locNodeId + ", grid=" + grid + ']');
+                }
+            }
+
+            return super.failover(ctx, grid);
+        }
+    }
 }

Reply via email to