IGNITE-160 Fixing Spi tests
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/edbfd9ad Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/edbfd9ad Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/edbfd9ad Branch: refs/heads/ignite-160 Commit: edbfd9adb8fa1a2ba444651e93c63d10c7c8ea35 Parents: 5e56e32 Author: nikolay_tikhonov <ntikho...@gridgain.com> Authored: Wed Feb 4 18:42:34 2015 +0300 Committer: nikolay_tikhonov <ntikho...@gridgain.com> Committed: Wed Feb 4 18:42:44 2015 +0300 ---------------------------------------------------------------------- .../spi/checkpoint/s3/S3CheckpointSpi.java | 2 +- .../s3/S3CheckpointSpiConfiguration.java | 3 +- .../s3/S3SessionCheckpointSelfTest.java | 6 +- .../apache/ignite/IgniteBasicWarmupClosure.java | 10 +- .../configuration/IgniteConfiguration.java | 278 ++++++--- .../org/apache/ignite/internal/IgnitionEx.java | 126 +++- .../org/apache/ignite/spi/IgniteSpiAdapter.java | 2 + .../ignite/spi/IgniteSpiConfiguration.java | 4 +- .../org/apache/ignite/spi/IgniteSpiFactory.java | 28 - .../AuthenticationSpiConfiguration.java | 27 + .../noop/NoopAuthenticationSpi.java | 7 + .../NoopAuthenticationSpiConfiguration.java | 3 +- .../checkpoint/CheckpointSpiConfiguration.java | 26 + .../cache/CacheCheckpointSpiConfiguration.java | 3 +- .../jdbc/JdbcCheckpointSpiConfiguration.java | 2 +- .../spi/checkpoint/noop/NoopCheckpointSpi.java | 13 +- .../noop/NoopCheckpointSpiConfiguration.java | 3 +- .../SharedFsCheckpointSpiConfiguration.java | 3 +- .../collision/CollisionSpiConfiguration.java | 26 + .../FifoQueueCollisionSpiConfiguration.java | 3 +- .../JobStealingCollisionSpiConfiguration.java | 3 +- .../spi/collision/noop/NoopCollisionSpi.java | 7 + .../noop/NoopCollisionSpiConfiguration.java | 3 +- .../PriorityQueueCollisionSpiConfiguration.java | 3 +- .../CommunicationSpiConfiguration.java | 32 ++ .../communication/tcp/TcpCommunicationSpi.java | 40 ++ .../tcp/TcpCommunicationSpiConfiguration.java | 569 +++++++++++++++++++ .../deployment/DeploymentSpiConfiguration.java | 26 + .../deployment/local/LocalDeploymentSpi.java | 11 +- .../local/LocalDeploymentSpiConfiguration.java | 2 +- .../discovery/DiscoverySpiConfiguration.java | 26 + .../discovery/tcp/TcpClientDiscoverySpi.java | 6 + .../tcp/TcpClientDiscoverySpiConfiguration.java | 99 ++++ .../spi/discovery/tcp/TcpDiscoverySpi.java | 20 + .../discovery/tcp/TcpDiscoverySpiAdapter.java | 33 ++ .../TcpDiscoverySpiAdapterConfiguration.java | 250 ++++++++ .../tcp/TcpDiscoverySpiConfiguration.java | 298 ++++++++++ .../ipfinder/TcpDiscoveryIpFinderAdapter.java | 6 + ...cpDiscoveryIpFinderAdapterConfiguration.java | 52 ++ .../TcpDiscoveryIpFinderConfiguration.java | 28 + .../ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java | 9 +- .../TcpDiscoveryJdbcIpFinderConfiguration.java | 106 ++++ .../TcpDiscoveryMulticastIpFinder.java | 17 +- ...DiscoveryMulticastIpFinderConfiguration.java | 178 ++++++ .../sharedfs/TcpDiscoverySharedFsIpFinder.java | 10 +- ...pDiscoverySharedFsIpFinderConfiguration.java | 91 +++ .../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java | 14 +- .../vm/TcpDiscoveryVmIpFinderConfiguration.java | 93 +++ .../EventStorageSpiConfiguration.java | 26 + .../memory/MemoryEventStorageSpi.java | 9 +- .../MemoryEventStorageSpiConfiguration.java | 3 +- .../spi/failover/FailoverSpiConfiguration.java | 26 + .../spi/failover/always/AlwaysFailoverSpi.java | 8 + .../always/AlwaysFailoverSpiConfiguration.java | 5 +- .../JobStealingFailoverSpiConfiguration.java | 3 +- .../never/NeverFailoverSpiConfiguration.java | 3 +- .../indexing/GridIndexingSpiConfiguration.java | 26 + .../spi/indexing/GridNoopIndexingSpi.java | 9 +- .../GridNoopIndexingSpiConfiguration.java | 2 +- .../LoadBalancingSpiConfiguration.java | 26 + .../AdaptiveLoadBalancingSpiConfiguration.java | 4 +- .../roundrobin/RoundRobinLoadBalancingSpi.java | 9 +- ...RoundRobinLoadBalancingSpiConfiguration.java | 5 +- .../WeightedRandomLoadBalancingSpi.java | 2 +- ...htedRandomLoadBalancingSpiConfiguration.java | 6 +- .../SecureSessionSpiConfiguration.java | 26 + .../noop/NoopSecureSessionSpi.java | 9 +- .../noop/NoopSecureSessionSpiConfiguration.java | 3 +- .../swapspace/SwapSpaceSpiConfiguration.java | 26 + .../spi/swapspace/file/FileSwapSpaceSpi.java | 7 + .../file/FileSwapSpaceSpiConfiguration.java | 2 +- .../spi/swapspace/noop/NoopSwapSpaceSpi.java | 4 + .../noop/NoopSwapSpaceSpiConfiguration.java | 3 +- .../ignite/startup/BasicWarmupClosure.java | 10 +- .../GridGgfsFragmentizerAbstractSelfTest.java | 6 +- .../ignite/internal/GridFailoverSelfTest.java | 2 +- .../GridJobMasterLeaveAwareSelfTest.java | 20 +- ...ectionLocalJobMultipleArgumentsSelfTest.java | 6 +- .../internal/GridReleaseTypeSelfTest.java | 102 +++- .../internal/GridStopWithWaitSelfTest.java | 2 +- .../GridCheckpointManagerAbstractSelfTest.java | 14 +- .../GridCommunicationSendMessageSelfTest.java | 10 +- .../GridDeploymentMessageCountSelfTest.java | 78 ++- .../discovery/GridDiscoveryManagerSelfTest.java | 6 +- .../swapspace/GridSwapSpaceManagerSelfTest.java | 2 +- ...ridCacheAbstractByteArrayValuesSelfTest.java | 6 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 2 +- .../cache/GridCacheAbstractSelfTest.java | 6 +- .../cache/GridCacheBasicApiAbstractTest.java | 6 +- ...acheBasicStoreMultithreadedAbstractTest.java | 6 +- .../GridCacheDaemonNodeAbstractSelfTest.java | 6 +- .../cache/GridCacheDeploymentSelfTest.java | 6 +- .../GridCacheEvictionEventAbstractTest.java | 6 +- .../GridCacheGroupLockAbstractSelfTest.java | 10 +- .../GridCacheGroupLockFailoverSelfTest.java | 71 ++- .../cache/GridCacheLifecycleAwareSelfTest.java | 2 +- .../cache/GridCacheLuceneQueryIndexTest.java | 6 +- .../cache/GridCacheMvccManagerSelfTest.java | 6 +- .../GridCacheOrderedPreloadingSelfTest.java | 6 +- .../processors/cache/GridCacheStopSelfTest.java | 6 +- .../cache/IgniteCacheAbstractTest.java | 6 +- .../processors/cache/IgniteTxAbstractTest.java | 6 +- .../IgniteTxExceptionAbstractSelfTest.java | 50 +- .../cache/IgniteTxMultiNodeAbstractTest.java | 6 +- .../GridCacheQueueApiSelfAbstractTest.java | 6 +- ...GridCacheQueueMultiNodeAbstractSelfTest.java | 6 +- ...dCacheQueueMultiNodeConsistencySelfTest.java | 6 +- ...CacheQueueRotativeMultiNodeAbstractTest.java | 6 +- .../GridCacheSequenceApiSelfAbstractTest.java | 6 +- ...dCacheSequenceMultiNodeAbstractSelfTest.java | 6 +- ...GridCachePartitionedNodeRestartSelfTest.java | 6 +- ...idCachePartitionedNodeRestartTxSelfTest.java | 6 +- ...PartitionedQueueCreateMultiNodeSelfTest.java | 6 +- ...tractDistributedByteArrayValuesSelfTest.java | 2 +- .../GridCacheAbstractJobExecutionTest.java | 6 +- .../GridCacheAbstractNodeRestartSelfTest.java | 6 +- .../GridCacheNodeFailureAbstractTest.java | 6 +- ...chePartitionedReloadAllAbstractSelfTest.java | 6 +- .../GridCachePreloadLifecycleAbstractTest.java | 6 +- ...GridCachePreloadRestartAbstractSelfTest.java | 6 +- ...tPartitionedOnlyByteArrayValuesSelfTest.java | 2 +- ...heAbstractTransformWriteThroughSelfTest.java | 6 +- ...eColocatedOptimisticTransactionSelfTest.java | 8 +- ...ridCacheDhtPreloadMultiThreadedSelfTest.java | 4 +- .../dht/GridCacheDhtPreloadSelfTest.java | 6 +- ...unctionExcludeNeighborsAbstractSelfTest.java | 73 ++- .../near/GridCacheNearMultiGetSelfTest.java | 6 +- .../near/GridCacheNearMultiNodeSelfTest.java | 6 +- .../GridCacheNearPartitionedClearSelfTest.java | 6 +- ...AffinityExcludeNeighborsPerformanceTest.java | 6 +- ...rtitionedAffinityHashIdResolverSelfTest.java | 6 +- .../GridCachePartitionedAffinitySelfTest.java | 6 +- ...achePartitionedMultiNodeCounterSelfTest.java | 6 +- ...ePartitionedMultiThreadedPutGetSelfTest.java | 6 +- ...CacheReplicatedTxSingleThreadedSelfTest.java | 6 +- .../GridCacheReplicatedTxTimeoutSelfTest.java | 6 +- ...idCacheReplicatedUnswapAdvancedSelfTest.java | 8 +- .../GridCacheSyncReplicatedPreloadSelfTest.java | 6 +- .../GridCacheDistributedEvictionsSelfTest.java | 6 +- .../GridCacheLruNearEvictionPolicySelfTest.java | 6 +- ...ridCacheContinuousQueryAbstractSelfTest.java | 6 +- .../closure/GridClosureProcessorRemoteTest.java | 2 +- .../processors/fs/GridGgfsAbstractSelfTest.java | 6 +- .../processors/fs/GridGgfsMetricsSelfTest.java | 12 +- ...IpcEndpointRegistrationAbstractSelfTest.java | 6 +- .../GridGgfsAbstractRecordResolverSelfTest.java | 6 +- .../streamer/GridStreamerSelfTest.java | 6 +- .../loadtests/GridCacheMultiNodeLoadTest.java | 6 +- .../ignite/messaging/GridMessagingSelfTest.java | 6 +- .../p2p/GridAbstractMultinodeRedeployTest.java | 2 +- .../ignite/p2p/GridP2PUndeploySelfTest.java | 19 +- .../GridSessionCheckpointAbstractSelfTest.java | 31 +- .../session/GridSessionCheckpointSelfTest.java | 14 +- ...GridSessionJobWaitTaskAttributeSelfTest.java | 6 +- .../GridCacheCheckpointSpiConfigSelfTest.java | 6 +- .../cache/GridCacheCheckpointSpiSelfTest.java | 2 +- ...GridCacheCheckpointSpiStartStopSelfTest.java | 2 +- .../GridJdbcCheckpointSpiConfigSelfTest.java | 6 +- ...idJdbcCheckpointSpiCustomConfigSelfTest.java | 2 +- ...dJdbcCheckpointSpiDefaultConfigSelfTest.java | 2 +- .../GridJdbcCheckpointSpiStartStopSelfTest.java | 2 +- ...GridSharedFsCheckpointSpiConfigSelfTest.java | 8 +- ...redFsCheckpointSpiMultiThreadedSelfTest.java | 2 +- ...heckpointSpiMultipleDirectoriesSelfTest.java | 2 +- .../GridSharedFsCheckpointSpiSelfTest.java | 2 +- ...dSharedFsCheckpointSpiStartStopSelfTest.java | 2 +- ...GridFifoQueueCollisionSpiConfigSelfTest.java | 8 +- .../GridFifoQueueCollisionSpiSelfTest.java | 2 +- ...dFifoQueueCollisionSpiStartStopSelfTest.java | 2 +- ...bStealingCollisionSpiAttributesSelfTest.java | 2 +- ...idJobStealingCollisionSpiConfigSelfTest.java | 14 +- ...alingCollisionSpiCustomTopologySelfTest.java | 2 +- .../GridJobStealingCollisionSpiSelfTest.java | 2 +- ...obStealingCollisionSpiStartStopSelfTest.java | 2 +- ...PriorityQueueCollisionSpiConfigSelfTest.java | 17 +- .../GridPriorityQueueCollisionSpiSelfTest.java | 2 +- ...orityQueueCollisionSpiStartStopSelfTest.java | 2 +- ...mmunicationSpiConcurrentConnectSelfTest.java | 2 +- .../GridTcpCommunicationSpiConfigSelfTest.java | 2 +- ...dTcpCommunicationSpiRecoveryAckSelfTest.java | 2 +- ...GridTcpCommunicationSpiRecoverySelfTest.java | 2 +- .../GridTcpCommunicationSpiShmemSelfTest.java | 2 +- ...ridTcpCommunicationSpiStartStopSelfTest.java | 2 +- .../tcp/GridTcpCommunicationSpiTcpSelfTest.java | 2 +- .../local/GridLocalDeploymentSpiSelfTest.java | 2 +- ...GridLocalDeploymentSpiStartStopSelfTest.java | 2 +- .../GridTcpDiscoveryConcurrentStartTest.java | 16 +- .../GridTcpDiscoverySnapshotHistoryTest.java | 2 +- .../tcp/GridTcpDiscoverySpiConfigSelfTest.java | 2 +- .../GridTcpDiscoverySpiRandomStartStopTest.java | 7 +- .../tcp/GridTcpDiscoverySpiSelfTest.java | 11 +- .../GridTcpDiscoverySpiStartStopSelfTest.java | 6 +- .../GridTcpDiscoverySpiWildcardSelfTest.java | 6 +- ...MemoryEventStorageMultiThreadedSelfTest.java | 2 +- ...GridMemoryEventStorageSpiConfigSelfTest.java | 2 +- .../GridMemoryEventStorageSpiSelfTest.java | 2 +- ...dMemoryEventStorageSpiStartStopSelfTest.java | 2 +- .../GridAlwaysFailoverSpiConfigSelfTest.java | 2 +- .../always/GridAlwaysFailoverSpiSelfTest.java | 2 +- .../GridAlwaysFailoverSpiStartStopSelfTest.java | 2 +- ...ridJobStealingFailoverSpiConfigSelfTest.java | 5 +- ...idJobStealingFailoverSpiOneNodeSelfTest.java | 2 +- .../GridJobStealingFailoverSpiSelfTest.java | 2 +- ...JobStealingFailoverSpiStartStopSelfTest.java | 2 +- .../never/GridNeverFailoverSpiSelfTest.java | 2 +- .../GridNeverFailoverSpiStartStopSelfTest.java | 2 +- ...dAdaptiveLoadBalancingSpiConfigSelfTest.java | 5 +- ...iveLoadBalancingSpiMultipleNodeSelfTest.java | 2 +- .../GridAdaptiveLoadBalancingSpiSelfTest.java | 2 +- ...aptiveLoadBalancingSpiStartStopSelfTest.java | 2 +- ...alancingNotPerTaskMultithreadedSelfTest.java | 2 +- ...dRobinLoadBalancingSpiLocalNodeSelfTest.java | 3 +- ...inLoadBalancingSpiMultipleNodesSelfTest.java | 2 +- ...RobinLoadBalancingSpiNotPerTaskSelfTest.java | 2 +- ...dRobinLoadBalancingSpiStartStopSelfTest.java | 2 +- ...nLoadBalancingSpiTopologyChangeSelfTest.java | 2 +- ...tedRandomLoadBalancingSpiConfigSelfTest.java | 5 +- ...dWeightedRandomLoadBalancingSpiSelfTest.java | 2 +- ...RandomLoadBalancingSpiStartStopSelfTest.java | 2 +- ...dRandomLoadBalancingSpiWeightedSelfTest.java | 2 +- .../inmemory/GridTestSwapSpaceSpi.java | 10 + .../GridTestSwapSpaceSpiConfiguration.java | 32 ++ .../testframework/junits/GridAbstractTest.java | 16 +- .../junits/spi/GridSpiAbstractTest.java | 10 +- .../testframework/junits/spi/GridSpiTest.java | 4 +- .../util/GridTopologyHeapSizeSelfTest.java | 6 +- .../uri/UriDeploymentSpiConfiguration.java | 3 +- 227 files changed, 3393 insertions(+), 654 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.java ---------------------------------------------------------------------- diff --git a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.java b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.java index 2cb3d93..08df23c 100644 --- a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.java +++ b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.java @@ -146,7 +146,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi, * * @param spiCfg SPI configuration. */ - protected S3CheckpointSpi(S3CheckpointSpiConfiguration spiCfg) { + public S3CheckpointSpi(S3CheckpointSpiConfiguration spiCfg) { super(spiCfg); cfg = spiCfg.getCfg(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiConfiguration.java b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiConfiguration.java index 3fd92bb..3915d73 100644 --- a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiConfiguration.java +++ b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiConfiguration.java @@ -20,12 +20,13 @@ package org.apache.ignite.spi.checkpoint.s3; import com.amazonaws.*; import com.amazonaws.auth.*; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.checkpoint.CheckpointSpiConfiguration; /** * */ @IgniteSpiMultipleInstancesSupport(true) -public class S3CheckpointSpiConfiguration implements IgniteSpiConfiguration<S3CheckpointSpi> { +public class S3CheckpointSpiConfiguration implements CheckpointSpiConfiguration<S3CheckpointSpi> { /** Bucket name suffix (set by user). */ private String bucketNameSuffix; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/aws/src/test/java/org/apache/ignite/spi/checkpoint/s3/S3SessionCheckpointSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/aws/src/test/java/org/apache/ignite/spi/checkpoint/s3/S3SessionCheckpointSelfTest.java b/modules/aws/src/test/java/org/apache/ignite/spi/checkpoint/s3/S3SessionCheckpointSelfTest.java index b28d138..d8520c4 100644 --- a/modules/aws/src/test/java/org/apache/ignite/spi/checkpoint/s3/S3SessionCheckpointSelfTest.java +++ b/modules/aws/src/test/java/org/apache/ignite/spi/checkpoint/s3/S3SessionCheckpointSelfTest.java @@ -32,7 +32,7 @@ public class S3SessionCheckpointSelfTest extends GridSessionCheckpointAbstractSe public void testS3Checkpoint() throws Exception { IgniteConfiguration cfg = getConfiguration(); - S3CheckpointSpi spi = new S3CheckpointSpi(); + S3CheckpointSpiConfiguration spi = new S3CheckpointSpiConfiguration(); AWSCredentials cred = new BasicAWSCredentials(IgniteS3TestSuite.getAccessKey(), IgniteS3TestSuite.getSecretKey()); @@ -41,9 +41,7 @@ public class S3SessionCheckpointSelfTest extends GridSessionCheckpointAbstractSe spi.setBucketNameSuffix("test"); - cfg.setCheckpointSpi(spi); - - GridSessionCheckpointSelfTest.spi = spi; + cfg.setCheckpointSpiConfiguration(spi); checkCheckpoints(cfg); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/IgniteBasicWarmupClosure.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteBasicWarmupClosure.java b/modules/core/src/main/java/org/apache/ignite/IgniteBasicWarmupClosure.java index a4278ce..5d08587 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteBasicWarmupClosure.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteBasicWarmupClosure.java @@ -195,18 +195,20 @@ public class IgniteBasicWarmupClosure implements IgniteInClosure<IgniteConfigura try { System.setProperty(IgniteSystemProperties.IGNITE_UPDATE_NOTIFIER, "false"); - TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); + TcpDiscoveryVmIpFinderConfiguration ipFinderCfg = new TcpDiscoveryVmIpFinderConfiguration(); + + ipFinderCfg.setShared(true); for (int i = 0; i < gridCnt; i++) { IgniteConfiguration cfg0 = new IgniteConfiguration(cfg); - TcpDiscoverySpi discoSpi = new TcpDiscoverySpi(); + TcpDiscoverySpiConfiguration discoSpi = new TcpDiscoverySpiConfiguration(); - discoSpi.setIpFinder(ipFinder); + discoSpi.setIpFinder(ipFinderCfg); discoSpi.setLocalPort(discoveryPort); - cfg0.setDiscoverySpi(discoSpi); + cfg0.setDiscoverySpiConfiguration(discoSpi); cfg0.setGridLogger(new IgniteNullLogger()); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/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 6b70047..72e1a29 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 @@ -31,7 +31,6 @@ import org.apache.ignite.spi.authentication.*; import org.apache.ignite.spi.indexing.*; import org.apache.ignite.streamer.*; import org.apache.ignite.client.ssl.*; -import org.apache.ignite.interop.*; import org.apache.ignite.hadoop.*; import org.apache.ignite.internal.managers.eventstorage.*; import org.apache.ignite.plugin.security.*; @@ -47,7 +46,6 @@ import org.apache.ignite.spi.loadbalancing.*; import org.apache.ignite.spi.securesession.*; import org.apache.ignite.spi.swapspace.*; import org.apache.ignite.internal.util.typedef.internal.*; -import org.jetbrains.annotations.*; import javax.management.*; import java.lang.management.*; @@ -326,8 +324,8 @@ public class IgniteConfiguration { /** Collection of life-cycle beans. */ private LifecycleBean[] lifecycleBeans; - /** Discovery SPI. */ - private DiscoverySpi discoSpi; + /** Discovery SPI configuration. */ + private DiscoverySpiConfiguration discoSciConfiguration; /** Segmentation policy. */ private GridSegmentationPolicy segPlc = DFLT_SEG_PLC; @@ -347,38 +345,38 @@ public class IgniteConfiguration { /** Segment check frequency. */ private long segChkFreq = DFLT_SEG_CHK_FREQ; - /** Communication SPI. */ - private CommunicationSpi commSpi; + /** Communication SPI configuration. */ + private CommunicationSpiConfiguration commSpiConfiguration; - /** Event storage SPI. */ - private EventStorageSpi evtSpi; + /** Event storage SPI configuration. */ + private EventStorageSpiConfiguration evtSpiConfiguration; - /** Collision SPI. */ - private CollisionSpi colSpi; + /** Collision SPI configuration. */ + private CollisionSpiConfiguration colSpiConfiguration; - /** Authentication SPI. */ - private AuthenticationSpi authSpi; + /** Authentication SPI configuration. */ + private AuthenticationSpiConfiguration authSpiConfiguration; - /** Secure session SPI. */ - private SecureSessionSpi sesSpi; + /** Secure session SPI configuration. */ + private SecureSessionSpiConfiguration sesSpiConfiguration; - /** Deployment SPI. */ - private DeploymentSpi deploySpi; + /** Deployment SPI configuration. */ + private DeploymentSpiConfiguration deploySpiConfiguration; - /** Checkpoint SPI. */ - private CheckpointSpi[] cpSpi; + /** Checkpoint SPI configuration. */ + private CheckpointSpiConfiguration[] cpSpiConfiguration; - /** Failover SPI. */ - private FailoverSpi[] failSpi; + /** Failover SPI configuration. */ + private FailoverSpiConfiguration[] failSpiConfiguration; - /** Load balancing SPI. */ - private LoadBalancingSpi[] loadBalancingSpi; + /** Load balancing SPI configuration. */ + private LoadBalancingSpiConfiguration[] loadBalancingSpiConfiguration; - /** Checkpoint SPI. */ - private SwapSpaceSpi swapSpaceSpi; + /** Checkpoint SPI configuration. */ + private SwapSpaceSpiConfiguration swapSpaceSpiConfiguration; - /** Indexing SPI. */ - private GridIndexingSpi indexingSpi; + /** Indexing SPI configuration. */ + private GridIndexingSpiConfiguration indexingSpiConfiguration; /** Address resolver. */ private IgniteAddressResolver addrRslvr; @@ -524,6 +522,18 @@ public class IgniteConfiguration { /** */ private IgniteQueryConfiguration qryCfg; + private CommunicationSpi communicationSpi; + private CheckpointSpi[] checkpointSpi; + private DiscoverySpi discoverySpi; + private EventStorageSpi eventStorageSpi; + private AuthenticationSpi authenticationSpi; + private SecureSessionSpi secureSessionSpi; + private DeploymentSpi deploymentSpi; + private FailoverSpi[] failoverSpi; + private CollisionSpi collisionSpi; + private LoadBalancingSpi[] loadBalancingSpi; + private SwapSpaceSpi swapSpaceSpi; + private GridIndexingSpi indexingSpi; /** * Creates valid grid configuration with all default values. @@ -543,18 +553,18 @@ public class IgniteConfiguration { assert cfg != null; // SPIs. - discoSpi = cfg.getDiscoverySpi(); - commSpi = cfg.getCommunicationSpi(); - deploySpi = cfg.getDeploymentSpi(); - evtSpi = cfg.getEventStorageSpi(); - cpSpi = cfg.getCheckpointSpi(); - colSpi = cfg.getCollisionSpi(); - failSpi = cfg.getFailoverSpi(); - authSpi = cfg.getAuthenticationSpi(); - sesSpi = cfg.getSecureSessionSpi(); - loadBalancingSpi = cfg.getLoadBalancingSpi(); - swapSpaceSpi = cfg.getSwapSpaceSpi(); - indexingSpi = cfg.getIndexingSpi(); + discoSciConfiguration = cfg.getDiscoverySpiConfiguration(); + commSpiConfiguration = cfg.getCommunicationSpiConfiguration(); + deploySpiConfiguration = cfg.getDeploymentSpiConfiguration(); + evtSpiConfiguration = cfg.getEventStorageSpiConfiguration(); + cpSpiConfiguration = cfg.getCheckpointSpiConfiguration(); + colSpiConfiguration = cfg.getCollisionSpiConfiguration(); + failSpiConfiguration = cfg.getFailoverSpiConfiguration(); + authSpiConfiguration = cfg.getAuthenticationSpiConfiguration(); + sesSpiConfiguration = cfg.getSecureSessionSpiConfiguration(); + loadBalancingSpiConfiguration = cfg.getLoadBalancingSpiConfiguration(); + swapSpaceSpiConfiguration = cfg.getSwapSpaceSpiConfiguration(); + indexingSpiConfiguration = cfg.getIndexingSpiConfiguration(); /* * Order alphabetically for maintenance purposes. @@ -1760,8 +1770,8 @@ public class IgniteConfiguration { * * @return Grid event SPI implementation or {@code null} to use default implementation. */ - public EventStorageSpi getEventStorageSpi() { - return evtSpi; + public EventStorageSpiConfiguration getEventStorageSpiConfiguration() { + return evtSpiConfiguration; } /** @@ -1770,8 +1780,8 @@ public class IgniteConfiguration { * @param evtSpi Fully configured instance of {@link org.apache.ignite.spi.eventstorage.EventStorageSpi}. * @see IgniteConfiguration#getEventStorageSpi() */ - public void setEventStorageSpi(EventStorageSpi evtSpi) { - this.evtSpi = evtSpi; + public void setEventStorageSpiConfiguration(EventStorageSpiConfiguration evtSpi) { + this.evtSpiConfiguration = evtSpi; } /** @@ -1780,8 +1790,8 @@ public class IgniteConfiguration { * * @return Grid discovery SPI implementation or {@code null} to use default implementation. */ - public DiscoverySpi getDiscoverySpi() { - return discoSpi; + public DiscoverySpiConfiguration getDiscoverySpiConfiguration() { + return discoSciConfiguration; } /** @@ -1790,8 +1800,8 @@ public class IgniteConfiguration { * @param discoSpi Fully configured instance of {@link org.apache.ignite.spi.discovery.DiscoverySpi}. * @see IgniteConfiguration#getDiscoverySpi() */ - public void setDiscoverySpi(DiscoverySpi discoSpi) { - this.discoSpi = discoSpi; + public void setDiscoverySpiConfiguration(DiscoverySpiConfiguration discoSpi) { + this.discoSciConfiguration = discoSpi; } /** @@ -1934,8 +1944,8 @@ public class IgniteConfiguration { * * @return Grid communication SPI implementation or {@code null} to use default implementation. */ - public CommunicationSpi getCommunicationSpi() { - return commSpi; + public CommunicationSpiConfiguration getCommunicationSpiConfiguration() { + return commSpiConfiguration; } /** @@ -1944,8 +1954,8 @@ public class IgniteConfiguration { * @param commSpi Fully configured instance of {@link org.apache.ignite.spi.communication.CommunicationSpi}. * @see IgniteConfiguration#getCommunicationSpi() */ - public void setCommunicationSpi(CommunicationSpi commSpi) { - this.commSpi = commSpi; + public void setCommunicationSpiConfiguration(CommunicationSpiConfiguration commSpi) { + this.commSpiConfiguration = commSpi; } /** @@ -1958,8 +1968,8 @@ public class IgniteConfiguration { * * @return Grid collision SPI implementation or {@code null} to use default implementation. */ - public CollisionSpi getCollisionSpi() { - return colSpi; + public CollisionSpiConfiguration getCollisionSpiConfiguration() { + return colSpiConfiguration; } /** @@ -1969,8 +1979,8 @@ public class IgniteConfiguration { * {@code null} if no SPI provided. * @see IgniteConfiguration#getCollisionSpi() */ - public void setCollisionSpi(CollisionSpi colSpi) { - this.colSpi = colSpi; + public void setCollisionSpiConfiguration(CollisionSpiConfiguration colSpi) { + this.colSpiConfiguration = colSpi; } /** @@ -1979,8 +1989,8 @@ public class IgniteConfiguration { * * @return Grid authentication SPI implementation or {@code null} to use default implementation. */ - public AuthenticationSpi getAuthenticationSpi() { - return authSpi; + public AuthenticationSpiConfiguration getAuthenticationSpiConfiguration() { + return authSpiConfiguration; } /** @@ -1990,8 +2000,8 @@ public class IgniteConfiguration { * {@code null} if no SPI provided. * @see IgniteConfiguration#getAuthenticationSpi() */ - public void setAuthenticationSpi(AuthenticationSpi authSpi) { - this.authSpi = authSpi; + public void setAuthenticationSpiConfiguration(AuthenticationSpiConfiguration authSpi) { + this.authSpiConfiguration = authSpi; } /** @@ -2000,19 +2010,19 @@ public class IgniteConfiguration { * * @return Grid secure session SPI implementation or {@code null} to use default implementation. */ - public SecureSessionSpi getSecureSessionSpi() { - return sesSpi; + public SecureSessionSpiConfiguration getSecureSessionSpiConfiguration() { + return sesSpiConfiguration; } /** * Sets fully configured instance of {@link org.apache.ignite.spi.securesession.SecureSessionSpi}. * - * @param sesSpi Fully configured instance of {@link org.apache.ignite.spi.securesession.SecureSessionSpi} or + * @param sesSpi Configuration Fully configured instance of {@link org.apache.ignite.spi.securesession.SecureSessionSpi} or * {@code null} if no SPI provided. * @see IgniteConfiguration#getSecureSessionSpi() */ - public void setSecureSessionSpi(SecureSessionSpi sesSpi) { - this.sesSpi = sesSpi; + public void setSecureSessionSpiConfiguration(SecureSessionSpiConfiguration sesSpi) { + this.sesSpiConfiguration = sesSpi; } /** @@ -2021,8 +2031,8 @@ public class IgniteConfiguration { * * @return Grid deployment SPI implementation or {@code null} to use default implementation. */ - public DeploymentSpi getDeploymentSpi() { - return deploySpi; + public DeploymentSpiConfiguration getDeploymentSpiConfiguration() { + return deploySpiConfiguration; } /** @@ -2031,8 +2041,8 @@ public class IgniteConfiguration { * @param deploySpi Fully configured instance of {@link org.apache.ignite.spi.deployment.DeploymentSpi}. * @see IgniteConfiguration#getDeploymentSpi() */ - public void setDeploymentSpi(DeploymentSpi deploySpi) { - this.deploySpi = deploySpi; + public void setDeploymentSpiConfiguration(DeploymentSpiConfiguration deploySpi) { + this.deploySpiConfiguration = deploySpi; } /** @@ -2041,8 +2051,8 @@ public class IgniteConfiguration { * * @return Grid checkpoint SPI implementation or {@code null} to use default implementation. */ - public CheckpointSpi[] getCheckpointSpi() { - return cpSpi; + public CheckpointSpiConfiguration[] getCheckpointSpiConfiguration() { + return cpSpiConfiguration; } /** @@ -2051,8 +2061,8 @@ public class IgniteConfiguration { * @param cpSpi Fully configured instance of {@link org.apache.ignite.spi.checkpoint.CheckpointSpi}. * @see IgniteConfiguration#getCheckpointSpi() */ - public void setCheckpointSpi(CheckpointSpi... cpSpi) { - this.cpSpi = cpSpi; + public void setCheckpointSpiConfiguration(CheckpointSpiConfiguration... cpSpi) { + this.cpSpiConfiguration = cpSpi; } /** @@ -2061,8 +2071,8 @@ public class IgniteConfiguration { * * @return Grid failover SPI implementation or {@code null} to use default implementation. */ - public FailoverSpi[] getFailoverSpi() { - return failSpi; + public FailoverSpiConfiguration[] getFailoverSpiConfiguration() { + return failSpiConfiguration; } /** @@ -2072,8 +2082,8 @@ public class IgniteConfiguration { * {@code null} if no SPI provided. * @see IgniteConfiguration#getFailoverSpi() */ - public void setFailoverSpi(FailoverSpi... failSpi) { - this.failSpi = failSpi; + public void setFailoverSpiConfiguration(FailoverSpiConfiguration... failSpi) { + this.failSpiConfiguration = failSpi; } /** @@ -2082,8 +2092,8 @@ public class IgniteConfiguration { * * @return Grid load balancing SPI implementation or {@code null} to use default implementation. */ - public LoadBalancingSpi[] getLoadBalancingSpi() { - return loadBalancingSpi; + public LoadBalancingSpiConfiguration[] getLoadBalancingSpiConfiguration() { + return loadBalancingSpiConfiguration; } /** @@ -2125,8 +2135,8 @@ public class IgniteConfiguration { * {@code null} if no SPI provided. * @see IgniteConfiguration#getLoadBalancingSpi() */ - public void setLoadBalancingSpi(LoadBalancingSpi... loadBalancingSpi) { - this.loadBalancingSpi = loadBalancingSpi; + public void setLoadBalancingSpiConfiguration(LoadBalancingSpiConfiguration... loadBalancingSpi) { + this.loadBalancingSpiConfiguration = loadBalancingSpi; } /** @@ -2136,8 +2146,8 @@ public class IgniteConfiguration { * <tt>null</tt> if no SPI provided. * @see IgniteConfiguration#getSwapSpaceSpi() */ - public void setSwapSpaceSpi(SwapSpaceSpi swapSpaceSpi) { - this.swapSpaceSpi = swapSpaceSpi; + public void setSwapSpaceSpiConfiguration(SwapSpaceSpiConfiguration swapSpaceSpi) { + this.swapSpaceSpiConfiguration = swapSpaceSpi; } /** @@ -2149,8 +2159,8 @@ public class IgniteConfiguration { * * @return Grid swap space SPI implementation or <tt>null</tt> to use default implementation. */ - public SwapSpaceSpi getSwapSpaceSpi() { - return swapSpaceSpi; + public SwapSpaceSpiConfiguration getSwapSpaceSpiConfiguration() { + return swapSpaceSpiConfiguration; } /** @@ -2159,8 +2169,8 @@ public class IgniteConfiguration { * @param indexingSpi Fully configured instances of {@link org.apache.ignite.spi.indexing.GridIndexingSpi}. * @see IgniteConfiguration#getIndexingSpi() */ - public void setIndexingSpi(GridIndexingSpi indexingSpi) { - this.indexingSpi = indexingSpi; + public void setIndexingSpiConfiguration(GridIndexingSpiConfiguration indexingSpi) { + this.indexingSpiConfiguration = indexingSpi; } /** @@ -2168,8 +2178,8 @@ public class IgniteConfiguration { * * @return Indexing SPI implementation. */ - public GridIndexingSpi getIndexingSpi() { - return indexingSpi; + public GridIndexingSpiConfiguration getIndexingSpiConfiguration() { + return indexingSpiConfiguration; } /** @@ -3162,4 +3172,98 @@ public class IgniteConfiguration { @Override public String toString() { return S.toString(IgniteConfiguration.class, this); } + + public CommunicationSpi getCommunicationSpi() { + return communicationSpi; + } + + public DiscoverySpi getDiscoverySpi() { + return discoverySpi; + } + + public CheckpointSpi[] getCheckpointSpi() { + return checkpointSpi; + } + + public EventStorageSpi getEventStorageSpi() { + return eventStorageSpi; + } + + public AuthenticationSpi getAuthenticationSpi() { + return authenticationSpi; + } + + public SecureSessionSpi getSecureSessionSpi() { + return secureSessionSpi; + } + + public DeploymentSpi getDeploymentSpi() { + return deploymentSpi; + } + + public FailoverSpi[] getFailoverSpi() { + return failoverSpi; + } + + public CollisionSpi getCollisionSpi() { + return collisionSpi; + } + + public LoadBalancingSpi[] getLoadBalancingSpi() { + return loadBalancingSpi; + } + + public SwapSpaceSpi getSwapSpaceSpi() { + return swapSpaceSpi; + } + + public GridIndexingSpi getIndexingSpi() { + return indexingSpi; + } + + + +/* public void setCommunicationSpi(CommunicationSpi communicationSpi) { + this.communicationSpi = communicationSpi; + } + + public void setCheckpointSpi(CheckpointSpi[] checkpointSpi) { + this.checkpointSpi = checkpointSpi; + } + + public void setEventStorageSpi(EventStorageSpi eventStorageSpi) { + this.eventStorageSpi = eventStorageSpi; + } + + public void setAuthenticationSpi(AuthenticationSpi authenticationSpi) { + this.authenticationSpi = authenticationSpi; + } + + public void setSecureSessionSpi(SecureSessionSpi secureSessionSpi) { + this.secureSessionSpi = secureSessionSpi; + } + + public void setDeploymentSpi(DeploymentSpi deploymentSpi) { + this.deploymentSpi = deploymentSpi; + } + + public void setFailoverSpi(FailoverSpi[] failoverSpi) { + this.failoverSpi = failoverSpi; + } + + public void setCollisionSpi(CollisionSpi collisionSpi) { + this.collisionSpi = collisionSpi; + } + + public void setLoadBalancingSpi(LoadBalancingSpi[] loadBalancingSpi) { + this.loadBalancingSpi = loadBalancingSpi; + } + + public void setSwapSpaceSpi(SwapSpaceSpi swapSpaceSpi) { + this.swapSpaceSpi = swapSpaceSpi; + } + + public void setIndexingSpi(GridIndexingSpi indexingSpi) { + this.indexingSpi = indexingSpi; + }*/ } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/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 b4b60e0..a778684 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 @@ -1502,18 +1502,87 @@ public class IgnitionEx { String[] p2pExclude = cfg.getPeerClassLoadingLocalClassPathExclude(); - CommunicationSpi commSpi = cfg.getCommunicationSpi(); - DiscoverySpi discoSpi = cfg.getDiscoverySpi(); - EventStorageSpi evtSpi = cfg.getEventStorageSpi(); - CollisionSpi colSpi = cfg.getCollisionSpi(); - AuthenticationSpi authSpi = cfg.getAuthenticationSpi(); - SecureSessionSpi sesSpi = cfg.getSecureSessionSpi(); - DeploymentSpi deploySpi = cfg.getDeploymentSpi(); - CheckpointSpi[] cpSpi = cfg.getCheckpointSpi(); - FailoverSpi[] failSpi = cfg.getFailoverSpi(); - LoadBalancingSpi[] loadBalancingSpi = cfg.getLoadBalancingSpi(); - SwapSpaceSpi swapspaceSpi = cfg.getSwapSpaceSpi(); - GridIndexingSpi indexingSpi = cfg.getIndexingSpi(); + CommunicationSpi commSpi = null; + DiscoverySpi discoSpi = null; + EventStorageSpi evtSpi = null; + CollisionSpi colSpi = null; + AuthenticationSpi authSpi = null; + SecureSessionSpi sesSpi = null; + DeploymentSpi deploySpi = null; + CheckpointSpi[] cpSpi = null; + FailoverSpi[] failSpi = null; + LoadBalancingSpi[] loadBalancingSpi = null; + SwapSpaceSpi swapspaceSpi = null; + GridIndexingSpi indexingSpi = null; + + if (cfg.getCommunicationSpiConfiguration() != null) + commSpi = (CommunicationSpi)createSpi(cfg.getCommunicationSpiConfiguration()); + + if (cfg.getDiscoverySpiConfiguration() != null) + discoSpi = (DiscoverySpi)createSpi(cfg.getDiscoverySpiConfiguration()); + + if (cfg.getEventStorageSpiConfiguration() != null) + evtSpi = (EventStorageSpi)createSpi(cfg.getCollisionSpiConfiguration()); + + if (cfg.getCollisionSpiConfiguration() != null) + colSpi = (CollisionSpi)createSpi(cfg.getCollisionSpiConfiguration()); + + if (cfg.getAuthenticationSpiConfiguration() != null) + authSpi = (AuthenticationSpi)createSpi(cfg.getAuthenticationSpiConfiguration()); + + if (cfg.getSecureSessionSpiConfiguration() != null) + sesSpi = (SecureSessionSpi)createSpi(cfg.getSecureSessionSpiConfiguration()); + + if (cfg.getDeploymentSpiConfiguration() != null) + deploySpi = (DeploymentSpi)createSpi(cfg.getDeploymentSpiConfiguration()); + + if (cfg.getSwapSpaceSpiConfiguration() != null) + swapspaceSpi = (SwapSpaceSpi)createSpi(cfg.getSwapSpaceSpiConfiguration()); + + if (cfg.getIndexingSpiConfiguration() != null) + indexingSpi = (GridIndexingSpi)createSpi(cfg.getIndexingSpiConfiguration()); + + if (cfg.getCheckpointSpiConfiguration() != null && cfg.getCheckpointSpiConfiguration().length > 0){ + CheckpointSpiConfiguration[] checkpointSpiCfg = cfg.getCheckpointSpiConfiguration(); + + cpSpi = new CheckpointSpi[checkpointSpiCfg.length]; + + int i = 0; + + for (CheckpointSpiConfiguration spiCfg : checkpointSpiCfg){ + cpSpi[i] = (CheckpointSpi)createSpi(spiCfg); + + ++i; + } + } + + if (cfg.getFailoverSpiConfiguration() != null && cfg.getFailoverSpiConfiguration().length > 0){ + FailoverSpiConfiguration[] failSpiCfg = cfg.getFailoverSpiConfiguration(); + + failSpi = new FailoverSpi[failSpiCfg.length]; + + int i = 0; + + for (FailoverSpiConfiguration spiCfg : failSpiCfg){ + failSpi[i] = (FailoverSpi)createSpi(spiCfg); + + ++i; + } + } + + if (cfg.getLoadBalancingSpiConfiguration() != null && cfg.getLoadBalancingSpiConfiguration().length > 0){ + LoadBalancingSpiConfiguration[] loadBalancingSpiCfg = cfg.getLoadBalancingSpiConfiguration(); + + loadBalancingSpi = new LoadBalancingSpi[loadBalancingSpiCfg.length]; + + int i = 0; + + for (LoadBalancingSpiConfiguration spiCfg : loadBalancingSpiCfg){ + loadBalancingSpi[i] = (LoadBalancingSpi)createSpi(spiCfg); + + ++i; + } + } execSvc = cfg.getExecutorService(); sysExecSvc = cfg.getSystemExecutorService(); @@ -1763,18 +1832,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()); @@ -2056,6 +2125,15 @@ public class IgnitionEx { } } + private <T extends IgniteSpi> T createSpi(IgniteSpiConfiguration<T> cfg) throws IgniteCheckedException { + try { + return cfg.spiClass().getConstructor(cfg.getClass()).newInstance(cfg); + } + catch (Exception e){ + throw new IgniteCheckedException("Failed to create SPI.", e); + } + } + /** * Creates utility system cache configuration. * http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java index 4bfb4d9..1a4b4fb 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java @@ -69,6 +69,8 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement /** Discovery listener. */ private GridLocalEventListener paramsLsnr; + + /** * Create SPI from configuration object. * http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiConfiguration.java index b931353..80cfabe 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiConfiguration.java @@ -17,7 +17,7 @@ package org.apache.ignite.spi; -import java.io.Serializable; +import java.io.*; /** * TODO: Add javadoc @@ -26,5 +26,5 @@ public interface IgniteSpiConfiguration<T extends IgniteSpi> extends Serializabl /** * @return SPI object. */ - public Class<T> spiClass(); + public Class<? extends T> spiClass(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiFactory.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiFactory.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiFactory.java deleted file mode 100644 index 535dd53..0000000 --- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiFactory.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.spi; - -/** - * TODO: Add javadoc - */ -public interface IgniteSpiFactory<T extends IgniteSpi> { - /** - * @return SPI object. - */ - public Class<T> spiClass(); -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/authentication/AuthenticationSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/authentication/AuthenticationSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/authentication/AuthenticationSpiConfiguration.java new file mode 100644 index 0000000..110cffa --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/spi/authentication/AuthenticationSpiConfiguration.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.spi.authentication; + +import org.apache.ignite.spi.*; + +/** + * + */ +@IgniteSpiConsistencyChecked(optional = false, checkDaemon = true) +public interface AuthenticationSpiConfiguration<T extends AuthenticationSpi> extends IgniteSpiConfiguration<T> { +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpi.java index 01e1d60..a8cb987 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpi.java @@ -77,6 +77,13 @@ public class NoopAuthenticationSpi extends IgniteSpiAdapter /** * Create SPI from configuration object. + */ + public NoopAuthenticationSpi() { + super(new NoopAuthenticationSpiConfiguration()); + } + + /** + * Create SPI from configuration object. * * @param spiCfg SPI configuration. */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpiConfiguration.java index 2fc113c..444e3c7 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/authentication/noop/NoopAuthenticationSpiConfiguration.java @@ -18,6 +18,7 @@ package org.apache.ignite.spi.authentication.noop; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.authentication.*; /** * Default implementation of the authentication SPI which permits any request. @@ -58,7 +59,7 @@ import org.apache.ignite.spi.*; */ @IgniteSpiNoop @IgniteSpiMultipleInstancesSupport(true) -public class NoopAuthenticationSpiConfiguration implements IgniteSpiConfiguration<NoopAuthenticationSpi> { +public class NoopAuthenticationSpiConfiguration implements AuthenticationSpiConfiguration<NoopAuthenticationSpi> { /** {@inheritDoc} */ @Override public Class<NoopAuthenticationSpi> spiClass() { return NoopAuthenticationSpi.class; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/CheckpointSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/CheckpointSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/CheckpointSpiConfiguration.java new file mode 100644 index 0000000..68972fe --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/CheckpointSpiConfiguration.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.spi.checkpoint; + +import org.apache.ignite.spi.*; + +/** + * + */ +public interface CheckpointSpiConfiguration<T extends CheckpointSpi> extends IgniteSpiConfiguration<T> { +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpiConfiguration.java index f7522ba..4904b2b 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpiConfiguration.java @@ -18,12 +18,13 @@ package org.apache.ignite.spi.checkpoint.cache; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.checkpoint.CheckpointSpiConfiguration; /** * */ @IgniteSpiMultipleInstancesSupport(true) -public class CacheCheckpointSpiConfiguration implements IgniteSpiConfiguration<CacheCheckpointSpi> { +public class CacheCheckpointSpiConfiguration implements CheckpointSpiConfiguration<CacheCheckpointSpi> { /** Default cache name (value is <tt>checkpoints</tt>). */ public static final String DFLT_CACHE_NAME = "checkpoints"; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpiConfiguration.java index 02e75cb..5ee8ffc 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpiConfiguration.java @@ -26,7 +26,7 @@ import javax.sql.*; * */ @IgniteSpiMultipleInstancesSupport(true) -public class JdbcCheckpointSpiConfiguration implements IgniteSpiConfiguration<JdbcCheckpointSpi> { +public class JdbcCheckpointSpiConfiguration implements CheckpointSpiConfiguration<JdbcCheckpointSpi> { /** Default number of retries in case of errors (value is {@code 2}). */ public static final int DFLT_NUMBER_OF_RETRIES = 2; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.java index d4adc26..713c6a4 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.java @@ -35,8 +35,17 @@ public class NoopCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi @IgniteLoggerResource private IgniteLogger log; - /** {@inheritDoc} */ - protected NoopCheckpointSpi(IgniteSpiConfiguration spiCfg) { + /** + * + */ + public NoopCheckpointSpi() { + super(new NoopCheckpointSpiConfiguration()); + } + + /** + * + */ + public NoopCheckpointSpi(NoopCheckpointSpiConfiguration spiCfg) { super(spiCfg); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpiConfiguration.java index 792c70c..dc6d52e 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpiConfiguration.java @@ -18,13 +18,14 @@ package org.apache.ignite.spi.checkpoint.noop; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.checkpoint.CheckpointSpiConfiguration; /** * */ @IgniteSpiNoop @IgniteSpiMultipleInstancesSupport(true) -public class NoopCheckpointSpiConfiguration implements IgniteSpiConfiguration<NoopCheckpointSpi> { +public class NoopCheckpointSpiConfiguration implements CheckpointSpiConfiguration<NoopCheckpointSpi> { /** {@inheritDoc} */ @Override public Class<NoopCheckpointSpi> spiClass() { return NoopCheckpointSpi.class; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/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 dca8efc..d1e6e1f 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 @@ -20,6 +20,7 @@ package org.apache.ignite.spi.checkpoint.sharedfs; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.checkpoint.CheckpointSpiConfiguration; import java.util.*; @@ -28,7 +29,7 @@ import java.util.*; */ @IgniteSpiMultipleInstancesSupport(true) @IgniteSpiConsistencyChecked(optional = false) -public class SharedFsCheckpointSpiConfiguration implements IgniteSpiConfiguration<SharedFsCheckpointSpi> { +public class SharedFsCheckpointSpiConfiguration implements CheckpointSpiConfiguration<SharedFsCheckpointSpi> { /** * Default checkpoint directory. Note that this path is relative to {@code IGNITE_HOME/work} folder * if {@code IGNITE_HOME} system or environment variable specified, otherwise it is relative to http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/collision/CollisionSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/CollisionSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/CollisionSpiConfiguration.java new file mode 100644 index 0000000..f64a07b --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/CollisionSpiConfiguration.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.spi.collision; + +import org.apache.ignite.spi.*; + +/** + * + */ +public interface CollisionSpiConfiguration<T extends CollisionSpi> extends IgniteSpiConfiguration<T> { +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/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 ccfba91..b63641e 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 @@ -19,12 +19,13 @@ package org.apache.ignite.spi.collision.fifoqueue; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.collision.*; /** * */ @IgniteSpiMultipleInstancesSupport(true) -public class FifoQueueCollisionSpiConfiguration implements IgniteSpiConfiguration<FifoQueueCollisionSpi> { +public class FifoQueueCollisionSpiConfiguration implements CollisionSpiConfiguration<FifoQueueCollisionSpi> { /** * Default number of parallel jobs allowed (value is {@code 95} which is * slightly less same as default value of threads in the execution thread pool http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiConfiguration.java index 8c0943d..1d371b0 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiConfiguration.java @@ -20,6 +20,7 @@ package org.apache.ignite.spi.collision.jobstealing; import org.apache.ignite.internal.util.tostring.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.collision.*; import java.io.*; import java.util.*; @@ -30,7 +31,7 @@ import java.util.*; @SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter") @IgniteSpiMultipleInstancesSupport(true) @IgniteSpiConsistencyChecked(optional = true) -public class JobStealingCollisionSpiConfiguration implements IgniteSpiConfiguration<JobStealingCollisionSpi> { +public class JobStealingCollisionSpiConfiguration implements CollisionSpiConfiguration<JobStealingCollisionSpi> { /** Maximum number of attempts to steal job by another node (default is {@code 5}). */ public static final int DFLT_MAX_STEALING_ATTEMPTS = 5; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java index 987ebc2..dc99260 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java @@ -34,6 +34,13 @@ import org.jetbrains.annotations.*; @IgniteSpiMultipleInstancesSupport(true) public class NoopCollisionSpi extends IgniteSpiAdapter implements CollisionSpi { /** + * Default constructor. + */ + public NoopCollisionSpi() { + this(new NoopCollisionSpiConfiguration()); + } + + /** * */ public NoopCollisionSpi(NoopCollisionSpiConfiguration spiCfg) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpiConfiguration.java index 9e6309b..ab453d7 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpiConfiguration.java @@ -18,6 +18,7 @@ package org.apache.ignite.spi.collision.noop; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.collision.CollisionSpiConfiguration; /** * No-op implementation of {@link org.apache.ignite.spi.collision.CollisionSpi}. This is default implementation @@ -29,7 +30,7 @@ import org.apache.ignite.spi.*; */ @IgniteSpiNoop @IgniteSpiMultipleInstancesSupport(true) -public class NoopCollisionSpiConfiguration implements IgniteSpiConfiguration<NoopCollisionSpi> { +public class NoopCollisionSpiConfiguration implements CollisionSpiConfiguration<NoopCollisionSpi> { /** {@inheritDoc} */ @Override public Class<NoopCollisionSpi> spiClass() { return NoopCollisionSpi.class; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiConfiguration.java index 13ece82..a1162e4 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiConfiguration.java @@ -19,13 +19,14 @@ package org.apache.ignite.spi.collision.priorityqueue; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.spi.*; +import org.apache.ignite.spi.collision.*; /** * */ @IgniteSpiMultipleInstancesSupport(true) @IgniteSpiConsistencyChecked(optional = true) -public class PriorityQueueCollisionSpiConfiguration implements IgniteSpiConfiguration<PriorityQueueCollisionSpi> { +public class PriorityQueueCollisionSpiConfiguration implements CollisionSpiConfiguration<PriorityQueueCollisionSpi> { /** * Default number of parallel jobs allowed (value is {@code 95} which is * slightly less same as default value of threads in the execution thread pool http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/communication/CommunicationSpiConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/CommunicationSpiConfiguration.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/CommunicationSpiConfiguration.java new file mode 100644 index 0000000..a79cbe9 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/CommunicationSpiConfiguration.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.spi.communication; + +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.spi.IgniteSpi; +import org.apache.ignite.spi.IgniteSpiConfiguration; +import org.apache.ignite.spi.IgniteSpiException; +import org.jetbrains.annotations.Nullable; + +import java.io.Serializable; + +/** + * TODO: javadoc + */ +public interface CommunicationSpiConfiguration<T extends CommunicationSpi> extends IgniteSpiConfiguration<T> { +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/edbfd9ad/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index e5b019d..956845d 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -869,6 +869,46 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter }; /** + * Create SPI from configuration object. + * + * @param spiCfg SPI configuration. + */ + public TcpCommunicationSpi(TcpCommunicationSpiConfiguration spiCfg) { + super(spiCfg); + + ackSndThreshold = spiCfg.getAckSendThreshold(); + addrRslvr = spiCfg.getAddressResolver(); + bufSizeRatio = spiCfg.getBufferSizeRatio(); + connBufFlushFreq = spiCfg.getConnectionBufferFlushFrequency(); + connBufSize = spiCfg.getConnectionBufferSize(); + connTimeout = spiCfg.getConnectTimeout(); + directBuf = spiCfg.isDirectBuffer(); + directSndBuf = spiCfg.isDirectSendBuffer(); + idleConnTimeout = spiCfg.getIdleConnectionTimeout(); + locAddr = spiCfg.getLocalAddress(); + locPort = spiCfg.getLocalPort(); + locPortRange = spiCfg.getLocalPortRange(); + maxConnTimeout = spiCfg.getMaxConnectTimeout(); + msgQueueLimit = spiCfg.getMessageQueueLimit(); + minBufferedMsgCnt = spiCfg.getMinimumBufferedMessageCount(); + reconCnt = spiCfg.getReconnectCount(); + selectorsCnt = spiCfg.getSelectorsCount(); + shmemPort = spiCfg.getSharedMemoryPort(); + sockRcvBuf = spiCfg.getSocketReceiveBuffer(); + sockSndBuf = spiCfg.getSocketSendBuffer(); + sockWriteTimeout = spiCfg.getSocketWriteTimeout(); + tcpNoDelay = spiCfg.isTcpNoDelay(); + unackedMsgsBufSize = spiCfg.getUnacknowledgedMessagesBufferSize(); + } + + /** + * Default constructor. + */ + public TcpCommunicationSpi() { + this(new TcpCommunicationSpiConfiguration()); + } + + /** * Sets address resolver. * * @param addrRslvr Address resolver.