#ignite-239: small refactoring.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6fa46c37 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6fa46c37 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6fa46c37 Branch: refs/heads/ignite-51 Commit: 6fa46c37b4b691ba90232dbf823593ebdd89da9f Parents: c1b4ad7 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Fri Feb 20 18:33:44 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Fri Feb 20 18:33:44 2015 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/internal/IgnitionEx.java | 187 +++++++++---------- 1 file changed, 91 insertions(+), 96 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6fa46c37/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 9c196f4..8e1e110 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 @@ -1488,7 +1488,95 @@ public class IgnitionEx { "on start?) [segPlc=" + segPlc + ", wait=false]"); } - copySpis(cfg, myCfg, startCtx.single()); + /* + * Initialize default SPI implementations. + */ + CommunicationSpi commSpi = cfg.getCommunicationSpi(); + DiscoverySpi discoSpi = cfg.getDiscoverySpi(); + EventStorageSpi evtSpi = cfg.getEventStorageSpi(); + CollisionSpi colSpi = cfg.getCollisionSpi(); + DeploymentSpi deploySpi = cfg.getDeploymentSpi(); + CheckpointSpi[] cpSpi = cfg.getCheckpointSpi(); + FailoverSpi[] failSpi = cfg.getFailoverSpi(); + LoadBalancingSpi[] loadBalancingSpi = cfg.getLoadBalancingSpi(); + SwapSpaceSpi swapspaceSpi = cfg.getSwapSpaceSpi(); + IndexingSpi indexingSpi = cfg.getIndexingSpi(); + + if (commSpi == null) + commSpi = new TcpCommunicationSpi(); + + if (discoSpi == null) + discoSpi = new TcpDiscoverySpi(); + + if (discoSpi instanceof TcpDiscoverySpi) { + TcpDiscoverySpi tcpDisco = (TcpDiscoverySpi)discoSpi; + + if (tcpDisco.getIpFinder() == null) + tcpDisco.setIpFinder(new TcpDiscoveryMulticastIpFinder()); + } + + if (evtSpi == null) + evtSpi = new MemoryEventStorageSpi(); + + if (colSpi == null) + colSpi = new NoopCollisionSpi(); + + if (deploySpi == null) + deploySpi = new LocalDeploymentSpi(); + + if (cpSpi == null) + cpSpi = new CheckpointSpi[] {new NoopCheckpointSpi()}; + + if (failSpi == null) + failSpi = new FailoverSpi[] {new AlwaysFailoverSpi()}; + + if (loadBalancingSpi == null) + loadBalancingSpi = new LoadBalancingSpi[] {new RoundRobinLoadBalancingSpi()}; + + if (swapspaceSpi == null) { + boolean needSwap = false; + + CacheConfiguration[] caches = cfg.getCacheConfiguration(); + + if (caches != null) { + for (CacheConfiguration c : caches) { + if (c.isSwapEnabled()) { + needSwap = true; + + break; + } + } + } + + swapspaceSpi = needSwap ? new FileSwapSpaceSpi() : new NoopSwapSpaceSpi(); + } + + if (indexingSpi == null) + indexingSpi = new NoopIndexingSpi(); + + myCfg.setCommunicationSpi(commSpi); + myCfg.setDiscoverySpi(discoSpi); + myCfg.setCheckpointSpi(cpSpi); + myCfg.setEventStorageSpi(evtSpi); + myCfg.setDeploymentSpi(deploySpi); + myCfg.setFailoverSpi(failSpi); + myCfg.setCollisionSpi(colSpi); + myCfg.setLoadBalancingSpi(loadBalancingSpi); + myCfg.setSwapSpaceSpi(swapspaceSpi); + myCfg.setIndexingSpi(indexingSpi); + + // Ensure that SPIs support multiple grid instances, if required. + if (!startCtx.single()) { + ensureMultiInstanceSupport(deploySpi); + ensureMultiInstanceSupport(commSpi); + ensureMultiInstanceSupport(discoSpi); + ensureMultiInstanceSupport(cpSpi); + ensureMultiInstanceSupport(evtSpi); + ensureMultiInstanceSupport(colSpi); + ensureMultiInstanceSupport(failSpi); + ensureMultiInstanceSupport(loadBalancingSpi); + ensureMultiInstanceSupport(swapspaceSpi); + } CacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration(); @@ -1496,12 +1584,12 @@ public class IgnitionEx { final boolean hasAtomics = cfg.getAtomicConfiguration() != null; - final boolean clientDisco = myCfg.getDiscoverySpi() instanceof TcpClientDiscoverySpi; + final boolean clientDisco = discoSpi instanceof TcpClientDiscoverySpi; CacheConfiguration[] copies; if (cacheCfgs != null && cacheCfgs.length > 0) { - if (!U.discoOrdered(myCfg.getDiscoverySpi()) && !U.relaxDiscoveryOrdered()) + if (!U.discoOrdered(discoSpi) && !U.relaxDiscoveryOrdered()) throw new IgniteCheckedException("Discovery SPI implementation does not support node ordering and " + "cannot be used with cache (use SPI with @GridDiscoverySpiOrderSupport annotation, " + "like GridTcpDiscoverySpi)"); @@ -1709,99 +1797,6 @@ public class IgnitionEx { } } - private void copySpis(IgniteConfiguration cfg, IgniteConfiguration myCfg, boolean singleGrid) - throws IgniteCheckedException { - /* - * Initialize default SPI implementations. - */ - CommunicationSpi commSpi = cfg.getCommunicationSpi(); - DiscoverySpi discoSpi = cfg.getDiscoverySpi(); - EventStorageSpi evtSpi = cfg.getEventStorageSpi(); - CollisionSpi colSpi = cfg.getCollisionSpi(); - DeploymentSpi deploySpi = cfg.getDeploymentSpi(); - CheckpointSpi[] cpSpi = cfg.getCheckpointSpi(); - FailoverSpi[] failSpi = cfg.getFailoverSpi(); - LoadBalancingSpi[] loadBalancingSpi = cfg.getLoadBalancingSpi(); - SwapSpaceSpi swapspaceSpi = cfg.getSwapSpaceSpi(); - IndexingSpi indexingSpi = cfg.getIndexingSpi(); - - if (commSpi == null) - commSpi = new TcpCommunicationSpi(); - - if (discoSpi == null) - discoSpi = new TcpDiscoverySpi(); - - if (discoSpi instanceof TcpDiscoverySpi) { - TcpDiscoverySpi tcpDisco = (TcpDiscoverySpi)discoSpi; - - if (tcpDisco.getIpFinder() == null) - tcpDisco.setIpFinder(new TcpDiscoveryMulticastIpFinder()); - } - - if (evtSpi == null) - evtSpi = new MemoryEventStorageSpi(); - - if (colSpi == null) - colSpi = new NoopCollisionSpi(); - - if (deploySpi == null) - deploySpi = new LocalDeploymentSpi(); - - if (cpSpi == null) - cpSpi = new CheckpointSpi[] {new NoopCheckpointSpi()}; - - if (failSpi == null) - failSpi = new FailoverSpi[] {new AlwaysFailoverSpi()}; - - if (loadBalancingSpi == null) - loadBalancingSpi = new LoadBalancingSpi[] {new RoundRobinLoadBalancingSpi()}; - - if (swapspaceSpi == null) { - boolean needSwap = false; - - CacheConfiguration[] caches = cfg.getCacheConfiguration(); - - if (caches != null) { - for (CacheConfiguration c : caches) { - if (c.isSwapEnabled()) { - needSwap = true; - - break; - } - } - } - - swapspaceSpi = needSwap ? new FileSwapSpaceSpi() : new NoopSwapSpaceSpi(); - } - - if (indexingSpi == null) - indexingSpi = new NoopIndexingSpi(); - - myCfg.setCommunicationSpi(commSpi); - myCfg.setDiscoverySpi(discoSpi); - myCfg.setCheckpointSpi(cpSpi); - myCfg.setEventStorageSpi(evtSpi); - myCfg.setDeploymentSpi(deploySpi); - myCfg.setFailoverSpi(failSpi); - myCfg.setCollisionSpi(colSpi); - myCfg.setLoadBalancingSpi(loadBalancingSpi); - myCfg.setSwapSpaceSpi(swapspaceSpi); - myCfg.setIndexingSpi(indexingSpi); - - // Ensure that SPIs support multiple grid instances, if required. - if (!singleGrid) { - ensureMultiInstanceSupport(deploySpi); - ensureMultiInstanceSupport(commSpi); - ensureMultiInstanceSupport(discoSpi); - ensureMultiInstanceSupport(cpSpi); - ensureMultiInstanceSupport(evtSpi); - ensureMultiInstanceSupport(colSpi); - ensureMultiInstanceSupport(failSpi); - ensureMultiInstanceSupport(loadBalancingSpi); - ensureMultiInstanceSupport(swapspaceSpi); - } - } - /** * @param cfgLog Configured logger. * @param nodeId Local node ID.