You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2017/03/31 07:56:53 UTC
[1/5] ignite git commit: IGNITE-4564: All setters on public
configuration now return "this" instance to allow convenient chaining. This
closes #1449.
Repository: ignite
Updated Branches:
refs/heads/master 44cf1d21a -> cfc88028f
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
index 7afaaee..cfd4fc7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.java
@@ -50,6 +50,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
@@ -254,8 +255,7 @@ import static org.apache.ignite.events.EventType.EVT_TASK_FINISHED;
* For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a>
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi,
- AdaptiveLoadBalancingSpiMBean {
+public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi {
/** Random number generator. */
private static final Random RAND = new Random();
@@ -279,8 +279,12 @@ public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBa
/** */
private final ReadWriteLock rwLock = new ReentrantReadWriteLock();
- /** {@inheritDoc} */
- @Override public String getLoadProbeFormatted() {
+ /**
+ * Gets text description of current load probing implementation used.
+ *
+ * @return Text description of current load probing implementation used.
+ */
+ public String getLoadProbeFormatted() {
return probe.toString();
}
@@ -290,12 +294,15 @@ public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBa
* time on every node.
*
* @param probe Implementation of node load probe
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setLoadProbe(AdaptiveLoadProbe probe) {
+ public AdaptiveLoadBalancingSpi setLoadProbe(AdaptiveLoadProbe probe) {
A.ensure(probe != null, "probe != null");
this.probe = probe;
+
+ return this;
}
/** {@inheritDoc} */
@@ -307,7 +314,8 @@ public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBa
if (log.isDebugEnabled())
log.debug(configInfo("loadProbe", probe));
- registerMBean(igniteInstanceName, this, AdaptiveLoadBalancingSpiMBean.class);
+ registerMBean(igniteInstanceName, new AdaptiveLoadBalancingSpiMBeanImpl(this),
+ AdaptiveLoadBalancingSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -606,7 +614,30 @@ public class AdaptiveLoadBalancingSpi extends IgniteSpiAdapter implements LoadBa
}
/** {@inheritDoc} */
+ @Override public AdaptiveLoadBalancingSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(AdaptiveLoadBalancingSpi.class, this);
}
+
+ /**
+ * MBean implementation for AdaptiveLoadBalancingSpi.
+ */
+ private class AdaptiveLoadBalancingSpiMBeanImpl extends IgniteSpiMBeanAdapter
+ implements AdaptiveLoadBalancingSpiMBean {
+ /** {@inheritDoc} */
+ AdaptiveLoadBalancingSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getLoadProbeFormatted() {
+ return AdaptiveLoadBalancingSpi.this.getLoadProbeFormatted();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
index 40af99a..5472811 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.java
@@ -39,6 +39,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
@@ -172,8 +173,7 @@ import static org.apache.ignite.events.EventType.EVT_TASK_FINISHED;
* For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a>
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi,
- RoundRobinLoadBalancingSpiMBean {
+public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi {
/** Grid logger. */
@LoggerResource
private IgniteLogger log;
@@ -204,8 +204,13 @@ public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements Load
}
};
- /** {@inheritDoc} */
- @Override public boolean isPerTask() {
+ /**
+ * See {@link #setPerTask(boolean)}.
+ *
+ * @return Configuration parameter indicating whether a new round robin order should
+ * be created for every task. Default is {@code false}.
+ */
+ public boolean isPerTask() {
return isPerTask;
}
@@ -223,10 +228,13 @@ public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements Load
*
* @param isPerTask Configuration parameter indicating whether a new round robin order should
* be created for every task. Default is {@code false}.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setPerTask(boolean isPerTask) {
+ public RoundRobinLoadBalancingSpi setPerTask(boolean isPerTask) {
this.isPerTask = isPerTask;
+
+ return this;
}
/** {@inheritDoc} */
@@ -236,7 +244,8 @@ public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements Load
if (log.isDebugEnabled())
log.debug(configInfo("isPerTask", isPerTask));
- registerMBean(igniteInstanceName, this, RoundRobinLoadBalancingSpiMBean.class);
+ registerMBean(igniteInstanceName, new RoundRobinLoadBalancingSpiMBeanImpl(this),
+ RoundRobinLoadBalancingSpiMBean.class);
balancer = new RoundRobinGlobalLoadBalancer(log);
@@ -331,7 +340,30 @@ public class RoundRobinLoadBalancingSpi extends IgniteSpiAdapter implements Load
}
/** {@inheritDoc} */
+ @Override public RoundRobinLoadBalancingSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(RoundRobinLoadBalancingSpi.class, this);
}
+
+ /**
+ * MBean implementation for RoundRobinLoadBalancingSpi.
+ */
+ private class RoundRobinLoadBalancingSpiMBeanImpl extends IgniteSpiMBeanAdapter
+ implements RoundRobinLoadBalancingSpiMBean {
+ /** {@inheritDoc} */
+ RoundRobinLoadBalancingSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isPerTask() {
+ return RoundRobinLoadBalancingSpi.this.isPerTask();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
index 6e67b80..2af6d44 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.java
@@ -44,6 +44,7 @@ import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
@@ -176,8 +177,7 @@ import static org.apache.ignite.events.EventType.EVT_TASK_FINISHED;
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = true)
-public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi,
- WeightedRandomLoadBalancingSpiMBean {
+public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements LoadBalancingSpi {
/** Random number generator. */
private static final Random RAND = new Random();
@@ -216,14 +216,21 @@ public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements
*
* @param isUseWeights If {@code true} then random load is distributed according
* to node weights.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setUseWeights(boolean isUseWeights) {
+ public WeightedRandomLoadBalancingSpi setUseWeights(boolean isUseWeights) {
this.isUseWeights = isUseWeights;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public boolean isUseWeights() {
+ /**
+ * See {@link #setUseWeights(boolean)}.
+ *
+ * @return Maximum sparsity.
+ */
+ public boolean isUseWeights() {
return isUseWeights;
}
@@ -233,14 +240,21 @@ public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements
* is {@link #DFLT_NODE_WEIGHT} and is equal for all nodes.
*
* @param nodeWeight Weight of this node.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setNodeWeight(int nodeWeight) {
+ public WeightedRandomLoadBalancingSpi setNodeWeight(int nodeWeight) {
this.nodeWeight = nodeWeight;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getNodeWeight() {
+ /**
+ * See {@link #setNodeWeight(int)}.
+ *
+ * @return Maximum sparsity.
+ */
+ public int getNodeWeight() {
return nodeWeight;
}
@@ -260,7 +274,8 @@ public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements
log.debug(configInfo("nodeWeight", nodeWeight));
}
- registerMBean(igniteInstanceName, this, WeightedRandomLoadBalancingSpiMBean.class);
+ registerMBean(igniteInstanceName, new WeightedRandomLoadBalancingSpiMBeanImpl(this),
+ WeightedRandomLoadBalancingSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -413,7 +428,35 @@ public class WeightedRandomLoadBalancingSpi extends IgniteSpiAdapter implements
}
/** {@inheritDoc} */
+ @Override public WeightedRandomLoadBalancingSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(WeightedRandomLoadBalancingSpi.class, this);
}
+
+ /**
+ * MBean implementation for WeightedRandomLoadBalancingSpi.
+ */
+ private class WeightedRandomLoadBalancingSpiMBeanImpl extends IgniteSpiMBeanAdapter
+ implements WeightedRandomLoadBalancingSpiMBean {
+ /** {@inheritDoc} */
+ WeightedRandomLoadBalancingSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isUseWeights() {
+ return WeightedRandomLoadBalancingSpi.this.isUseWeights();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getNodeWeight() {
+ return WeightedRandomLoadBalancingSpi.this.getNodeWeight();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
index 142b31a..b41fb4b 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
@@ -63,6 +63,7 @@ import org.apache.ignite.spi.IgniteSpiCloseableIterator;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.IgniteSpiThread;
import org.apache.ignite.spi.swapspace.SwapContext;
@@ -140,7 +141,7 @@ import static org.apache.ignite.events.EventType.EVT_SWAP_SPACE_DATA_STORED;
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = false, checkClient = false)
@SuppressWarnings({"PackageVisibleInnerClass", "PackageVisibleField"})
-public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi, FileSwapSpaceSpiMBean {
+public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi {
/**
* Default base 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
@@ -190,8 +191,12 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
@LoggerResource
private IgniteLogger log;
- /** {@inheritDoc} */
- @Override public String getBaseDirectory() {
+ /**
+ * Gets base directory.
+ *
+ * @return Base directory.
+ */
+ public String getBaseDirectory() {
return baseDir;
}
@@ -199,14 +204,21 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
* Sets base directory.
*
* @param baseDir Base directory.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setBaseDirectory(String baseDir) {
+ public FileSwapSpaceSpi setBaseDirectory(String baseDir) {
this.baseDir = baseDir;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public float getMaximumSparsity() {
+ /**
+ * See {@link #setMaximumSparsity(float)}.
+ *
+ * @return Maximum sparsity.
+ */
+ public float getMaximumSparsity() {
return maxSparsity;
}
@@ -215,13 +227,20 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
* When this ratio becomes higher than specified number compacting thread starts working.
*
* @param maxSparsity Maximum sparsity. Must be between 0 and 1, default is {@link #DFLT_MAX_SPARSITY}.
+ * @return {@code this} for chaining.
*/
- public void setMaximumSparsity(float maxSparsity) {
+ public FileSwapSpaceSpi setMaximumSparsity(float maxSparsity) {
this.maxSparsity = maxSparsity;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getWriteBufferSize() {
+ /**
+ * See {@link #setWriteBufferSize(int)}.
+ *
+ * @return Write buffer size in bytes.
+ */
+ public int getWriteBufferSize() {
return writeBufSize;
}
@@ -230,13 +249,20 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
* {@link #DFLT_BUF_SIZE}.
*
* @param writeBufSize Write buffer size in bytes.
+ * @return {@code this} for chaining.
*/
- public void setWriteBufferSize(int writeBufSize) {
+ public FileSwapSpaceSpi setWriteBufferSize(int writeBufSize) {
this.writeBufSize = writeBufSize;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getMaxWriteQueueSize() {
+ /**
+ * See {@link #setMaxWriteQueueSize(int)}.
+ *
+ * @return Max write queue size in bytes.
+ */
+ public int getMaxWriteQueueSize() {
return maxWriteQueSize;
}
@@ -246,13 +272,20 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
* {@link #DFLT_QUE_SIZE}.
*
* @param maxWriteQueSize Max write queue size in bytes.
+ * @return {@code this} for chaining.
*/
- public void setMaxWriteQueueSize(int maxWriteQueSize) {
+ public FileSwapSpaceSpi setMaxWriteQueueSize(int maxWriteQueSize) {
this.maxWriteQueSize = maxWriteQueSize;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getReadStripesNumber() {
+ /**
+ * See {@link #setReadStripesNumber(int)}.
+ *
+ * @return Read pool size.
+ */
+ public int getReadStripesNumber() {
return readStripesNum;
}
@@ -261,12 +294,15 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
* CPU cores available to this JVM.
*
* @param readStripesNum Read stripe number.
+ * @return {@code this} for chaining.
*/
- public void setReadStripesNumber(int readStripesNum) {
+ public FileSwapSpaceSpi setReadStripesNumber(int readStripesNum) {
A.ensure(readStripesNum == -1 || (readStripesNum & (readStripesNum - 1)) == 0,
"readStripesNum must be positive and power of two");
this.readStripesNum = readStripesNum;
+
+ return this;
}
/** {@inheritDoc} */
@@ -294,7 +330,7 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
startStopwatch();
- registerMBean(igniteInstanceName, this, FileSwapSpaceSpiMBean.class);
+ registerMBean(igniteInstanceName, new FileSwapSpaceSpiMBeanImpl(this), FileSwapSpaceSpiMBean.class);
String path = baseDir + File.separator + igniteInstanceName + File.separator + ignite.configuration().getNodeId();
@@ -695,6 +731,13 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
}
/** {@inheritDoc} */
+ @Override public FileSwapSpaceSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(FileSwapSpaceSpi.class, this);
}
@@ -1944,4 +1987,39 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi,
};
}
}
+
+ /**
+ * MBean implementation for LocalDeploymentSpi.
+ */
+ private class FileSwapSpaceSpiMBeanImpl extends IgniteSpiMBeanAdapter implements FileSwapSpaceSpiMBean {
+ /** {@inheritDoc} */
+ FileSwapSpaceSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getBaseDirectory() {
+ return FileSwapSpaceSpi.this.getBaseDirectory();
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getMaximumSparsity() {
+ return FileSwapSpaceSpi.this.getMaximumSparsity();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getWriteBufferSize() {
+ return FileSwapSpaceSpi.this.getWriteBufferSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxWriteQueueSize() {
+ return FileSwapSpaceSpi.this.getMaxWriteQueueSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getReadStripesNumber() {
+ return FileSwapSpaceSpi.this.getReadStripesNumber();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.java
index a3649b2..a6618b0 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.java
@@ -146,6 +146,13 @@ public class NoopSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi {
}
/** {@inheritDoc} */
+ @Override public NoopSwapSpaceSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(NoopSwapSpaceSpi.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java b/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java
index 71074c0..c238998 100644
--- a/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java
+++ b/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java
@@ -40,6 +40,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiConfiguration;
@@ -198,10 +199,13 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt
* For details refer to Google Cloud Platform API reference.
*
* @param projectName Project name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setProjectName(String projectName) {
+ public TcpDiscoveryGoogleStorageIpFinder setProjectName(String projectName) {
this.projectName = projectName;
+
+ return this;
}
/**
@@ -211,10 +215,13 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt
* perform this operation.
*
* @param bucketName Bucket name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setBucketName(String bucketName) {
+ public TcpDiscoveryGoogleStorageIpFinder setBucketName(String bucketName) {
this.bucketName = bucketName;
+
+ return this;
}
@@ -226,10 +233,13 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt
* Service Account Authentication</a>.
*
* @param p12FileName Private key file full path.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setServiceAccountP12FilePath(String p12FileName) {
+ public TcpDiscoveryGoogleStorageIpFinder setServiceAccountP12FilePath(String p12FileName) {
this.srvcAccountP12FilePath = p12FileName;
+
+ return this;
}
/**
@@ -240,10 +250,13 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt
* Service Account Authentication</a>.
*
* @param id Service account ID.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setServiceAccountId(String id) {
+ public TcpDiscoveryGoogleStorageIpFinder setServiceAccountId(String id) {
this.srvcAccountId = id;
+
+ return this;
}
/**
@@ -403,4 +416,16 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt
throw new IgniteSpiException("Failed to remove the bucket: " + bucketName, e);
}
}
+
+ /** {@inheritDoc} */
+ @Override public TcpDiscoveryGoogleStorageIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(TcpDiscoveryGoogleStorageIpFinder.class, this);
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
index 674cca7..ee71503 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
@@ -142,9 +142,12 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys
* Sets default user name. See {@link #getDefaultUserName()} for details.
*
* @param dfltUsrName Default user name.
+ * @return {@code this} for chaining.
*/
- public void setDefaultUserName(@Nullable String dfltUsrName) {
+ public IgniteHadoopIgfsSecondaryFileSystem setDefaultUserName(@Nullable String dfltUsrName) {
this.dfltUsrName = dfltUsrName;
+
+ return this;
}
/**
@@ -164,9 +167,12 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys
* Sets secondary file system factory. See {@link #getFileSystemFactory()} for details.
*
* @param factory Secondary file system factory.
+ * @return {@code this} for chaining.
*/
- public void setFileSystemFactory(HadoopFileSystemFactory factory) {
+ public IgniteHadoopIgfsSecondaryFileSystem setFileSystemFactory(HadoopFileSystemFactory factory) {
this.factory = factory;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/hadoop/src/main/java/org/apache/ignite/hadoop/mapreduce/IgniteHadoopWeightedMapReducePlanner.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/mapreduce/IgniteHadoopWeightedMapReducePlanner.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/mapreduce/IgniteHadoopWeightedMapReducePlanner.java
index bb0b47f..1d72c4b 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/mapreduce/IgniteHadoopWeightedMapReducePlanner.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/mapreduce/IgniteHadoopWeightedMapReducePlanner.java
@@ -637,9 +637,12 @@ public class IgniteHadoopWeightedMapReducePlanner extends HadoopAbstractMapReduc
* Set local mapper weight. See {@link #getLocalMapperWeight()} for more information.
*
* @param locMapperWeight Local mapper weight.
+ * @return {@code this} for chaining.
*/
- public void setLocalMapperWeight(int locMapperWeight) {
+ public IgniteHadoopWeightedMapReducePlanner setLocalMapperWeight(int locMapperWeight) {
this.locMapperWeight = locMapperWeight;
+
+ return this;
}
/**
@@ -658,9 +661,12 @@ public class IgniteHadoopWeightedMapReducePlanner extends HadoopAbstractMapReduc
* Set remote mapper weight. See {@link #getRemoteMapperWeight()} for more information.
*
* @param rmtMapperWeight Remote mapper weight.
+ * @return {@code this} for chaining.
*/
- public void setRemoteMapperWeight(int rmtMapperWeight) {
+ public IgniteHadoopWeightedMapReducePlanner setRemoteMapperWeight(int rmtMapperWeight) {
this.rmtMapperWeight = rmtMapperWeight;
+
+ return this;
}
/**
@@ -679,9 +685,12 @@ public class IgniteHadoopWeightedMapReducePlanner extends HadoopAbstractMapReduc
* Set local reducer weight. See {@link #getLocalReducerWeight()} for more information.
*
* @param locReducerWeight Local reducer weight.
+ * @return {@code this} for chaining.
*/
- public void setLocalReducerWeight(int locReducerWeight) {
+ public IgniteHadoopWeightedMapReducePlanner setLocalReducerWeight(int locReducerWeight) {
this.locReducerWeight = locReducerWeight;
+
+ return this;
}
/**
@@ -700,9 +709,12 @@ public class IgniteHadoopWeightedMapReducePlanner extends HadoopAbstractMapReduc
* Set remote reducer weight. See {@link #getRemoteReducerWeight()} for more information.
*
* @param rmtReducerWeight Remote reducer weight.
+ * @return {@code this} for chaining.
*/
- public void setRemoteReducerWeight(int rmtReducerWeight) {
+ public IgniteHadoopWeightedMapReducePlanner setRemoteReducerWeight(int rmtReducerWeight) {
this.rmtReducerWeight = rmtReducerWeight;
+
+ return this;
}
/**
@@ -722,9 +734,13 @@ public class IgniteHadoopWeightedMapReducePlanner extends HadoopAbstractMapReduc
* information.
*
* @param reducerMigrationThresholdWeight Reducer migration threshold weight.
+ * @return {@code this} for chaining.
*/
- public void setPreferLocalReducerThresholdWeight(int reducerMigrationThresholdWeight) {
+ public IgniteHadoopWeightedMapReducePlanner setPreferLocalReducerThresholdWeight(
+ int reducerMigrationThresholdWeight) {
this.preferLocReducerThresholdWeight = reducerMigrationThresholdWeight;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.java b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.java
index ce69ce1..b49e2c5 100644
--- a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.java
+++ b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.java
@@ -52,6 +52,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.deployment.DeploymentListener;
import org.apache.ignite.spi.deployment.DeploymentResource;
@@ -307,7 +308,7 @@ import org.jetbrains.annotations.Nullable;
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = false)
@SuppressWarnings({"FieldAccessedSynchronizedAndUnsynchronized"})
-public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi, UriDeploymentSpiMBean {
+public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi {
/**
* Default deployment directory where SPI will pick up GAR files. Note that this path is relative to
* {@code IGNITE_HOME/work} folder if {@code IGNITE_HOME} system or environment variable specified,
@@ -382,10 +383,13 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
* If not provided, default value is {@code java.io.tmpdir} system property value.
*
* @param tmpDirPath Temporary directory path.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setTemporaryDirectoryPath(String tmpDirPath) {
+ public UriDeploymentSpi setTemporaryDirectoryPath(String tmpDirPath) {
this.tmpDirPath = tmpDirPath;
+
+ return this;
}
/**
@@ -398,10 +402,13 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
* For unknown {@code IGNITE_HOME} list of URI must be provided explicitly.
*
* @param uriList GAR file URIs.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setUriList(List<String> uriList) {
+ public UriDeploymentSpi setUriList(List<String> uriList) {
this.uriList = uriList;
+
+ return this;
}
/**
@@ -409,10 +416,13 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
* Otherwise it should try to load new unit regardless to possible file duplication.
*
* @param checkMd5 new value for the property
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setCheckMd5(boolean checkMd5) {
+ public UriDeploymentSpi setCheckMd5(boolean checkMd5) {
this.checkMd5 = checkMd5;
+
+ return this;
}
/**
@@ -420,7 +430,7 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
*
* @return value of the {@code checkMd5} property.
*/
- @Override public boolean isCheckMd5() {
+ public boolean isCheckMd5() {
return checkMd5;
}
@@ -433,19 +443,30 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
*
* @param encodeUri {@code true} if every URI should be encoded and
* {@code false} otherwise.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setEncodeUri(boolean encodeUri) {
+ public UriDeploymentSpi setEncodeUri(boolean encodeUri) {
this.encodeUri = encodeUri;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public String getTemporaryDirectoryPath() {
+ /**
+ * Gets temporary directory path.
+ *
+ * @return Temporary directory path.
+ */
+ public String getTemporaryDirectoryPath() {
return tmpDirPath;
}
- /** {@inheritDoc} */
- @Override public List<String> getUriList() {
+ /**
+ * Gets list of URIs that are processed by SPI.
+ *
+ * @return List of URIs.
+ */
+ public List<String> getUriList() {
return Collections.unmodifiableList(uriList);
}
@@ -467,10 +488,13 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
* Sets scanners.
*
* @param scanners Scanners.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setScanners(UriDeploymentScanner... scanners) {
+ public UriDeploymentSpi setScanners(UriDeploymentScanner... scanners) {
this.scanners = scanners;
+
+ return this;
}
/** {@inheritDoc} */
@@ -523,7 +547,7 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
initializeTemporaryDirectoryPath();
- registerMBean(igniteInstanceName, this, UriDeploymentSpiMBean.class);
+ registerMBean(igniteInstanceName, new UriDeploymentSpiMBeanImpl(this), UriDeploymentSpiMBean.class);
FilenameFilter filter = new FilenameFilter() {
@Override public boolean accept(File dir, String name) {
@@ -1343,7 +1367,39 @@ public class UriDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi,
}
/** {@inheritDoc} */
+ public IgniteSpiAdapter setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(UriDeploymentSpi.class, this);
}
+
+ /**
+ * MBean implementation for UriDeploymentSpi.
+ */
+ private class UriDeploymentSpiMBeanImpl extends IgniteSpiMBeanAdapter implements UriDeploymentSpiMBean {
+ /** {@inheritDoc} */
+ UriDeploymentSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getTemporaryDirectoryPath() {
+ return UriDeploymentSpi.this.getTemporaryDirectoryPath();
+ }
+
+ /** {@inheritDoc} */
+ @Override public List<String> getUriList() {
+ return UriDeploymentSpi.this.getUriList();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isCheckMd5() {
+ return UriDeploymentSpi.this.isCheckMd5();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java
index e7a732a..f96a762 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java
@@ -274,9 +274,12 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
/**
* @param curator A {@link CuratorFramework} instance to use. It can already be in <tt>STARTED</tt> state.
+ * @return {@code this} for chaining.
*/
- public void setCurator(CuratorFramework curator) {
+ public TcpDiscoveryZookeeperIpFinder setCurator(CuratorFramework curator) {
this.curator = curator;
+
+ return this;
}
/**
@@ -289,9 +292,12 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
/**
* @param zkConnectionString ZooKeeper connection string in case a {@link CuratorFramework} is not being set
* explicitly.
+ * @return {@code this} for chaining.
*/
- public void setZkConnectionString(String zkConnectionString) {
+ public TcpDiscoveryZookeeperIpFinder setZkConnectionString(String zkConnectionString) {
this.zkConnectionString = zkConnectionString;
+
+ return this;
}
/**
@@ -304,9 +310,12 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
/**
* @param retryPolicy {@link RetryPolicy} to use in case a ZK Connection String is being injected, or if using a
* system property.
+ * @return {@code this} for chaining.
*/
- public void setRetryPolicy(RetryPolicy retryPolicy) {
+ public TcpDiscoveryZookeeperIpFinder setRetryPolicy(RetryPolicy retryPolicy) {
this.retryPolicy = retryPolicy;
+
+ return this;
}
/**
@@ -318,9 +327,12 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
/**
* @param basePath Base path for service registration in ZK. If not passed, {@link #BASE_PATH} will be used.
+ * @return {@code this} for chaining.
*/
- public void setBasePath(String basePath) {
+ public TcpDiscoveryZookeeperIpFinder setBasePath(String basePath) {
this.basePath = basePath;
+
+ return this;
}
/**
@@ -333,9 +345,12 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
/**
* @param serviceName Service name to use, as defined by Curator's {#link ServiceDiscovery} recipe. In physical ZK
* terms, it represents the node under {@link #basePath}, under which services will be registered.
+ * @return {@code this} for chaining.
*/
- public void setServiceName(String serviceName) {
+ public TcpDiscoveryZookeeperIpFinder setServiceName(String serviceName) {
this.serviceName = serviceName;
+
+ return this;
}
/**
@@ -350,9 +365,19 @@ public class TcpDiscoveryZookeeperIpFinder extends TcpDiscoveryIpFinderAdapter {
* allowed. Nodes will attempt to register themselves, plus those they know about. By default, duplicate
* registrations are not allowed, but you might want to set this property to <tt>true</tt> if you have multiple
* network interfaces or if you are facing troubles.
+ * @return {@code this} for chaining.
*/
- public void setAllowDuplicateRegistrations(boolean allowDuplicateRegistrations) {
+ public TcpDiscoveryZookeeperIpFinder setAllowDuplicateRegistrations(boolean allowDuplicateRegistrations) {
this.allowDuplicateRegistrations = allowDuplicateRegistrations;
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public TcpDiscoveryZookeeperIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
}
/**
[4/5] ignite git commit: IGNITE-4564: All setters on public
configuration now return "this" instance to allow convenient chaining. This
closes #1449.
Posted by vo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java
index 1a8d576..75e9f7d 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java
@@ -249,9 +249,12 @@ public class FileSystemConfiguration {
* Sets IGFS instance name.
*
* @param name IGFS instance name.
+ * @return {@code this} for chaining.
*/
- public void setName(String name) {
+ public FileSystemConfiguration setName(String name) {
this.name = name;
+
+ return this;
}
/**
@@ -275,9 +278,12 @@ public class FileSystemConfiguration {
* </ul>
*
* @param metaCacheCfg Cache configuration object.
+ * @return {@code this} for chaining.
*/
- public void setMetaCacheConfiguration(CacheConfiguration metaCacheCfg) {
+ public FileSystemConfiguration setMetaCacheConfiguration(CacheConfiguration metaCacheCfg) {
this.metaCacheCfg = metaCacheCfg;
+
+ return this;
}
/**
@@ -301,9 +307,12 @@ public class FileSystemConfiguration {
* </ul>
*
* @param dataCacheCfg Cache configuration object.
+ * @return {@code this} for chaining.
*/
- public void setDataCacheConfiguration(CacheConfiguration dataCacheCfg) {
+ public FileSystemConfiguration setDataCacheConfiguration(CacheConfiguration dataCacheCfg) {
this.dataCacheCfg = dataCacheCfg;
+
+ return this;
}
/**
@@ -319,11 +328,14 @@ public class FileSystemConfiguration {
* Sets file's data block size.
*
* @param blockSize File's data block size (bytes) or {@code 0} to reset default value.
+ * @return {@code this} for chaining.
*/
- public void setBlockSize(int blockSize) {
+ public FileSystemConfiguration setBlockSize(int blockSize) {
A.ensure(blockSize >= 0, "blockSize >= 0");
this.blockSize = blockSize == 0 ? DFLT_BLOCK_SIZE : blockSize;
+
+ return this;
}
/**
@@ -339,11 +351,14 @@ public class FileSystemConfiguration {
* Sets the number of pre-fetched blocks if specific file's chunk is requested.
*
* @param prefetchBlocks New number of pre-fetched blocks.
+ * @return {@code this} for chaining.
*/
- public void setPrefetchBlocks(int prefetchBlocks) {
+ public FileSystemConfiguration setPrefetchBlocks(int prefetchBlocks) {
A.ensure(prefetchBlocks >= 0, "prefetchBlocks >= 0");
this.prefetchBlocks = prefetchBlocks;
+
+ return this;
}
/**
@@ -381,11 +396,14 @@ public class FileSystemConfiguration {
* <b>NOTE:</b> Integration with Hadoop is available only in {@code In-Memory Accelerator For Hadoop} edition.
*
* @param seqReadsBeforePrefetch Amount of sequential block reads before prefetch is triggered.
+ * @return {@code this} for chaining.
*/
- public void setSequentialReadsBeforePrefetch(int seqReadsBeforePrefetch) {
+ public FileSystemConfiguration setSequentialReadsBeforePrefetch(int seqReadsBeforePrefetch) {
A.ensure(seqReadsBeforePrefetch >= 0, "seqReadsBeforePrefetch >= 0");
this.seqReadsBeforePrefetch = seqReadsBeforePrefetch;
+
+ return this;
}
/**
@@ -401,11 +419,14 @@ public class FileSystemConfiguration {
* Sets read/write buffers size for {@code IGFS} stream operations (bytes).
*
* @param bufSize Read/write buffers size for stream operations (bytes) or {@code 0} to reset default value.
+ * @return {@code this} for chaining.
*/
- public void setStreamBufferSize(int bufSize) {
+ public FileSystemConfiguration setStreamBufferSize(int bufSize) {
A.ensure(bufSize >= 0, "bufSize >= 0");
this.bufSize = bufSize == 0 ? DFLT_BUF_SIZE : bufSize;
+
+ return this;
}
/**
@@ -421,9 +442,12 @@ public class FileSystemConfiguration {
* Sets number of file blocks collected on local node before sending batch to remote node.
*
* @param perNodeBatchSize Per node buffer size.
+ * @return {@code this} for chaining.
*/
- public void setPerNodeBatchSize(int perNodeBatchSize) {
+ public FileSystemConfiguration setPerNodeBatchSize(int perNodeBatchSize) {
this.perNodeBatchSize = perNodeBatchSize;
+
+ return this;
}
/**
@@ -439,9 +463,12 @@ public class FileSystemConfiguration {
* Sets number of file block batches that can be concurrently sent to remote node.
*
* @param perNodeParallelBatchCnt Per node parallel load operations.
+ * @return {@code this} for chaining.
*/
- public void setPerNodeParallelBatchCount(int perNodeParallelBatchCnt) {
+ public FileSystemConfiguration setPerNodeParallelBatchCount(int perNodeParallelBatchCnt) {
this.perNodeParallelBatchCnt = perNodeParallelBatchCnt;
+
+ return this;
}
/**
@@ -463,9 +490,12 @@ public class FileSystemConfiguration {
* Hadoop Accelerator</b>.
*
* @param ipcEndpointCfg IPC endpoint configuration.
+ * @return {@code this} for chaining.
*/
- public void setIpcEndpointConfiguration(@Nullable IgfsIpcEndpointConfiguration ipcEndpointCfg) {
+ public FileSystemConfiguration setIpcEndpointConfiguration(@Nullable IgfsIpcEndpointConfiguration ipcEndpointCfg) {
this.ipcEndpointCfg = ipcEndpointCfg;
+
+ return this;
}
/**
@@ -488,9 +518,12 @@ public class FileSystemConfiguration {
* Hadoop Accelerator</b>.
*
* @param ipcEndpointEnabled IPC endpoint enabled flag.
+ * @return {@code this} for chaining.
*/
- public void setIpcEndpointEnabled(boolean ipcEndpointEnabled) {
+ public FileSystemConfiguration setIpcEndpointEnabled(boolean ipcEndpointEnabled) {
this.ipcEndpointEnabled = ipcEndpointEnabled;
+
+ return this;
}
/**
@@ -509,9 +542,12 @@ public class FileSystemConfiguration {
* Sets management endpoint port.
*
* @param mgmtPort port number or {@code -1} to disable management endpoint.
+ * @return {@code this} for chaining.
*/
- public void setManagementPort(int mgmtPort) {
+ public FileSystemConfiguration setManagementPort(int mgmtPort) {
this.mgmtPort = mgmtPort;
+
+ return this;
}
/**
@@ -534,9 +570,12 @@ public class FileSystemConfiguration {
* for pass-through, write-through, and read-through purposes.
*
* @param dfltMode {@code IGFS} mode.
+ * @return {@code this} for chaining.
*/
- public void setDefaultMode(IgfsMode dfltMode) {
+ public FileSystemConfiguration setDefaultMode(IgfsMode dfltMode) {
this.dfltMode = dfltMode;
+
+ return this;
}
/**
@@ -554,9 +593,12 @@ public class FileSystemConfiguration {
* and read-through purposes.
*
* @param fileSystem Secondary file system.
+ * @return {@code this} for chaining.
*/
- public void setSecondaryFileSystem(IgfsSecondaryFileSystem fileSystem) {
+ public FileSystemConfiguration setSecondaryFileSystem(IgfsSecondaryFileSystem fileSystem) {
secondaryFs = fileSystem;
+
+ return this;
}
/**
@@ -587,9 +629,12 @@ public class FileSystemConfiguration {
* {@link #getDefaultMode()} is used.
*
* @param pathModes Map of paths to {@code IGFS} modes.
+ * @return {@code this} for chaining.
*/
- public void setPathModes(Map<String, IgfsMode> pathModes) {
+ public FileSystemConfiguration setPathModes(Map<String, IgfsMode> pathModes) {
this.pathModes = pathModes;
+
+ return this;
}
/**
@@ -605,15 +650,19 @@ public class FileSystemConfiguration {
* Sets length of file chunk to transmit before throttling is delayed.
*
* @param fragmentizerThrottlingBlockLen Block length in bytes.
+ * @return {@code this} for chaining.
*/
- public void setFragmentizerThrottlingBlockLength(long fragmentizerThrottlingBlockLen) {
+ public FileSystemConfiguration setFragmentizerThrottlingBlockLength(long fragmentizerThrottlingBlockLen) {
this.fragmentizerThrottlingBlockLen = fragmentizerThrottlingBlockLen;
+
+ return this;
}
/**
* Gets throttle delay for fragmentizer.
*
* @return Throttle delay in milliseconds.
+ * @return {@code this} for chaining.
*/
public long getFragmentizerThrottlingDelay() {
return fragmentizerThrottlingDelay;
@@ -624,14 +673,17 @@ public class FileSystemConfiguration {
*
* @param fragmentizerThrottlingDelay Delay in milliseconds.
*/
- public void setFragmentizerThrottlingDelay(long fragmentizerThrottlingDelay) {
+ public FileSystemConfiguration setFragmentizerThrottlingDelay(long fragmentizerThrottlingDelay) {
this.fragmentizerThrottlingDelay = fragmentizerThrottlingDelay;
+
+ return this;
}
/**
* Gets number of files that can be processed by fragmentizer concurrently.
*
* @return Number of files to process concurrently.
+ * @return {@code this} for chaining.
*/
public int getFragmentizerConcurrentFiles() {
return fragmentizerConcurrentFiles;
@@ -641,9 +693,12 @@ public class FileSystemConfiguration {
* Sets number of files to process concurrently by fragmentizer.
*
* @param fragmentizerConcurrentFiles Number of files to process concurrently.
+ * @return {@code this} for chaining.
*/
- public void setFragmentizerConcurrentFiles(int fragmentizerConcurrentFiles) {
+ public FileSystemConfiguration setFragmentizerConcurrentFiles(int fragmentizerConcurrentFiles) {
this.fragmentizerConcurrentFiles = fragmentizerConcurrentFiles;
+
+ return this;
}
/**
@@ -672,10 +727,13 @@ public class FileSystemConfiguration {
* @see #getFragmentizerLocalWritesRatio()
*
* @deprecated Parameter is no longer used.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setFragmentizerLocalWritesRatio(float fragmentizerLocWritesRatio) {
+ public FileSystemConfiguration setFragmentizerLocalWritesRatio(float fragmentizerLocWritesRatio) {
this.fragmentizerLocWritesRatio = fragmentizerLocWritesRatio;
+
+ return this;
}
/**
@@ -692,9 +750,12 @@ public class FileSystemConfiguration {
* Sets property indicating whether fragmentizer is enabled.
*
* @param fragmentizerEnabled {@code True} if fragmentizer is enabled.
+ * @return {@code this} for chaining.
*/
- public void setFragmentizerEnabled(boolean fragmentizerEnabled) {
+ public FileSystemConfiguration setFragmentizerEnabled(boolean fragmentizerEnabled) {
this.fragmentizerEnabled = fragmentizerEnabled;
+
+ return this;
}
/**
@@ -710,9 +771,12 @@ public class FileSystemConfiguration {
* Set maximum space in bytes available in data cache.
*
* @param maxSpace Maximum space available in data cache.
+ * @return {@code this} for chaining.
*/
- public void setMaxSpaceSize(long maxSpace) {
+ public FileSystemConfiguration setMaxSpaceSize(long maxSpace) {
this.maxSpace = maxSpace;
+
+ return this;
}
/**
@@ -731,10 +795,13 @@ public class FileSystemConfiguration {
*
* @param trashPurgeTimeout Maximum timeout awaiting for trash purging in case data cache oversize is detected.
* @deprecated Not used any more.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setTrashPurgeTimeout(long trashPurgeTimeout) {
+ public FileSystemConfiguration setTrashPurgeTimeout(long trashPurgeTimeout) {
this.trashPurgeTimeout = trashPurgeTimeout;
+
+ return this;
}
/**
@@ -756,10 +823,13 @@ public class FileSystemConfiguration {
*
* @param dualModePutExec Dual mode put operations executor service.
* @deprecated Not used any more.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setDualModePutExecutorService(ExecutorService dualModePutExec) {
+ public FileSystemConfiguration setDualModePutExecutorService(ExecutorService dualModePutExec) {
this.dualModePutExec = dualModePutExec;
+
+ return this;
}
/**
@@ -778,10 +848,13 @@ public class FileSystemConfiguration {
*
* @param dualModePutExecShutdown Dual mode put operations executor service shutdown flag.
* @deprecated Not used any more.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setDualModePutExecutorServiceShutdown(boolean dualModePutExecShutdown) {
+ public FileSystemConfiguration setDualModePutExecutorServiceShutdown(boolean dualModePutExecShutdown) {
this.dualModePutExecShutdown = dualModePutExecShutdown;
+
+ return this;
}
/**
@@ -805,10 +878,13 @@ public class FileSystemConfiguration {
*
* @param dualModeMaxPendingPutsSize Maximum amount of data in pending put operations.
* @deprecated Not used any more.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setDualModeMaxPendingPutsSize(long dualModeMaxPendingPutsSize) {
+ public FileSystemConfiguration setDualModeMaxPendingPutsSize(long dualModeMaxPendingPutsSize) {
this.dualModeMaxPendingPutsSize = dualModeMaxPendingPutsSize;
+
+ return this;
}
/**
@@ -846,9 +922,12 @@ public class FileSystemConfiguration {
* See {@link #getMaximumTaskRangeLength()} for more details.
*
* @param maxTaskRangeLen Set maximum default range size of a file being split during IGFS task execution.
+ * @return {@code this} for chaining.
*/
- public void setMaximumTaskRangeLength(long maxTaskRangeLen) {
+ public FileSystemConfiguration setMaximumTaskRangeLength(long maxTaskRangeLen) {
this.maxTaskRangeLen = maxTaskRangeLen;
+
+ return this;
}
/**
@@ -880,9 +959,12 @@ public class FileSystemConfiguration {
* See {@link #isInitializeDefaultPathModes()} for more information.
*
* @param initDfltPathModes Whether to initialize default path modes.
+ * @return {@code this} for chaining.
*/
- public void setInitializeDefaultPathModes(boolean initDfltPathModes) {
+ public FileSystemConfiguration setInitializeDefaultPathModes(boolean initDfltPathModes) {
this.initDfltPathModes = initDfltPathModes;
+
+ return this;
}
/**
@@ -919,9 +1001,12 @@ public class FileSystemConfiguration {
* See {@link #isColocateMetadata()} for more information.
*
* @param colocateMeta Whether metadata co-location is enabled.
+ * @return {@code this} for chaining.
*/
- public void setColocateMetadata(boolean colocateMeta) {
+ public FileSystemConfiguration setColocateMetadata(boolean colocateMeta) {
this.colocateMeta = colocateMeta;
+
+ return this;
}
/**
@@ -956,9 +1041,12 @@ public class FileSystemConfiguration {
* See {@link #isColocateMetadata()} for more information.
*
* @param relaxedConsistency Whether to use relaxed consistency optimization.
+ * @return {@code this} for chaining.
*/
- public void setRelaxedConsistency(boolean relaxedConsistency) {
+ public FileSystemConfiguration setRelaxedConsistency(boolean relaxedConsistency) {
this.relaxedConsistency = relaxedConsistency;
+
+ return this;
}
/**
@@ -982,9 +1070,12 @@ public class FileSystemConfiguration {
* Set {@link #isUpdateFileLengthOnFlush()} for more information.
*
* @param updateFileLenOnFlush Whether to update file length on flush.
+ * @return {@code this} for chaining.
*/
- public void setUpdateFileLengthOnFlush(boolean updateFileLenOnFlush) {
+ public FileSystemConfiguration setUpdateFileLengthOnFlush(boolean updateFileLenOnFlush) {
this.updateFileLenOnFlush = updateFileLenOnFlush;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java
index 6443a67..8d8e96c 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java
@@ -92,9 +92,12 @@ public class HadoopConfiguration {
* Sets max number of local tasks that may be executed in parallel.
*
* @param maxParallelTasks Max number of local tasks that may be executed in parallel.
+ * @return {@code this} for chaining.
*/
- public void setMaxParallelTasks(int maxParallelTasks) {
+ public HadoopConfiguration setMaxParallelTasks(int maxParallelTasks) {
this.maxParallelTasks = maxParallelTasks;
+
+ return this;
}
/**
@@ -110,9 +113,12 @@ public class HadoopConfiguration {
* Sets max task queue size.
*
* @param maxTaskQueueSize Max task queue size.
+ * @return {@code this} for chaining.
*/
- public void setMaxTaskQueueSize(int maxTaskQueueSize) {
+ public HadoopConfiguration setMaxTaskQueueSize(int maxTaskQueueSize) {
this.maxTaskQueueSize = maxTaskQueueSize;
+
+ return this;
}
/**
@@ -128,9 +134,12 @@ public class HadoopConfiguration {
* Sets finished job info time-to-live.
*
* @param finishedJobInfoTtl Finished job info time-to-live.
+ * @return {@code this} for chaining.
*/
- public void setFinishedJobInfoTtl(long finishedJobInfoTtl) {
+ public HadoopConfiguration setFinishedJobInfoTtl(long finishedJobInfoTtl) {
this.finishedJobInfoTtl = finishedJobInfoTtl;
+
+ return this;
}
/**
@@ -149,10 +158,14 @@ public class HadoopConfiguration {
*
* @param extExecution {@code True} if tasks should be executed in an external process.
* @see #isExternalExecution()
+ * @return {@code this} for chaining.
*/
// TODO: IGNITE-404: Uncomment when fixed.
-// public void setExternalExecution(boolean extExecution) {
+//
+// public HadoopConfiguration setExternalExecution(boolean extExecution) {
// this.extExecution = extExecution;
+//
+// return this;
// }
/**
@@ -170,9 +183,12 @@ public class HadoopConfiguration {
* configuration and current grid topology.
*
* @param planner Map-reduce planner.
+ * @return {@code this} for chaining.
*/
- public void setMapReducePlanner(HadoopMapReducePlanner planner) {
+ public HadoopConfiguration setMapReducePlanner(HadoopMapReducePlanner planner) {
this.planner = planner;
+
+ return this;
}
/**
@@ -199,9 +215,12 @@ public class HadoopConfiguration {
* Set native library names. See {@link #getNativeLibraryNames()} for more information.
*
* @param libNames Native library names.
+ * @return {@code this} for chaining.
*/
- public void setNativeLibraryNames(@Nullable String... libNames) {
+ public HadoopConfiguration setNativeLibraryNames(@Nullable String... libNames) {
this.libNames = libNames;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java
index 3c59bd6..7c948dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java
@@ -17,7 +17,11 @@
package org.apache.ignite.configuration;
+import javax.cache.configuration.Factory;
import javax.cache.configuration.MutableConfiguration;
+import javax.cache.expiry.ExpiryPolicy;
+import javax.cache.integration.CacheLoader;
+import javax.cache.integration.CacheWriter;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.eviction.EvictionPolicy;
import org.apache.ignite.internal.util.typedef.internal.S;
@@ -108,6 +112,52 @@ public class NearCacheConfiguration<K, V> extends MutableConfiguration<K, V> {
}
/** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setTypes(Class<K> keyType, Class<V> valueType) {
+ return (CacheConfiguration<K, V>)super.setTypes(keyType, valueType);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setCacheLoaderFactory(Factory<? extends CacheLoader<K, V>> factory) {
+ return (CacheConfiguration<K, V>)super.setCacheLoaderFactory(factory);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setCacheWriterFactory(
+ Factory<? extends CacheWriter<? super K, ? super V>> factory) {
+ return (CacheConfiguration<K, V>)super.setCacheWriterFactory(factory);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setExpiryPolicyFactory(Factory<? extends ExpiryPolicy> factory) {
+ return (CacheConfiguration<K, V>)super.setExpiryPolicyFactory(factory);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setReadThrough(boolean isReadThrough) {
+ return (CacheConfiguration<K, V>)super.setReadThrough(isReadThrough);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setWriteThrough(boolean isWriteThrough) {
+ return (CacheConfiguration<K, V>)super.setWriteThrough(isWriteThrough);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setStoreByValue(boolean isStoreByValue) {
+ return (CacheConfiguration<K, V>)super.setStoreByValue(isStoreByValue);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setStatisticsEnabled(boolean enabled) {
+ return (CacheConfiguration<K, V>)super.setStatisticsEnabled(enabled);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setManagementEnabled(boolean enabled) {
+ return (CacheConfiguration<K, V>)super.setManagementEnabled(enabled);
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(NearCacheConfiguration.class, this, super.toString());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java
index 440e00a..0063afc 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java
@@ -113,10 +113,13 @@ public class TransactionConfiguration implements Serializable {
* @param txSerEnabled Flag to enable/disable serializable cache transactions.
* @deprecated This method has no effect, {@link TransactionIsolation#SERIALIZABLE} isolation is always enabled.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setTxSerializableEnabled(boolean txSerEnabled) {
+ public TransactionConfiguration setTxSerializableEnabled(boolean txSerEnabled) {
this.txSerEnabled = txSerEnabled;
+
+ return this;
}
/**
@@ -134,9 +137,12 @@ public class TransactionConfiguration implements Serializable {
* Sets default transaction concurrency.
*
* @param dfltConcurrency Default cache transaction concurrency.
+ * @return {@code this} for chaining.
*/
- public void setDefaultTxConcurrency(TransactionConcurrency dfltConcurrency) {
+ public TransactionConfiguration setDefaultTxConcurrency(TransactionConcurrency dfltConcurrency) {
this.dfltConcurrency = dfltConcurrency;
+
+ return this;
}
/**
@@ -154,9 +160,12 @@ public class TransactionConfiguration implements Serializable {
* Sets default transaction isolation.
*
* @param dfltIsolation Default cache transaction isolation.
+ * @return {@code this} for chaining.
*/
- public void setDefaultTxIsolation(TransactionIsolation dfltIsolation) {
+ public TransactionConfiguration setDefaultTxIsolation(TransactionIsolation dfltIsolation) {
this.dfltIsolation = dfltIsolation;
+
+ return this;
}
/**
@@ -174,9 +183,12 @@ public class TransactionConfiguration implements Serializable {
* #DFLT_TRANSACTION_TIMEOUT}.
*
* @param dfltTxTimeout Default transaction timeout.
+ * @return {@code this} for chaining.
*/
- public void setDefaultTxTimeout(long dfltTxTimeout) {
+ public TransactionConfiguration setDefaultTxTimeout(long dfltTxTimeout) {
this.dfltTxTimeout = dfltTxTimeout;
+
+ return this;
}
/**
@@ -196,9 +208,12 @@ public class TransactionConfiguration implements Serializable {
*
* @param pessimisticTxLogSize Pessimistic transactions log size.
* @see #getPessimisticTxLogSize()
+ * @return {@code this} for chaining.
*/
- public void setPessimisticTxLogSize(int pessimisticTxLogSize) {
+ public TransactionConfiguration setPessimisticTxLogSize(int pessimisticTxLogSize) {
this.pessimisticTxLogSize = pessimisticTxLogSize;
+
+ return this;
}
/**
@@ -217,9 +232,12 @@ public class TransactionConfiguration implements Serializable {
*
* @param pessimisticTxLogLinger Pessimistic log cleanup delay.
* @see #getPessimisticTxLogLinger()
+ * @return {@code this} for chaining.
*/
- public void setPessimisticTxLogLinger(int pessimisticTxLogLinger) {
+ public TransactionConfiguration setPessimisticTxLogLinger(int pessimisticTxLogLinger) {
this.pessimisticTxLogLinger = pessimisticTxLogLinger;
+
+ return this;
}
/**
@@ -239,10 +257,13 @@ public class TransactionConfiguration implements Serializable {
* @param tmLookupClsName Name of class implementing GridCacheTmLookup interface that is used to
* receive JTA transaction manager.
* @deprecated Use {@link #setTxManagerFactory(Factory)} instead.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setTxManagerLookupClassName(String tmLookupClsName) {
+ public TransactionConfiguration setTxManagerLookupClassName(String tmLookupClsName) {
this.tmLookupClsName = tmLookupClsName;
+
+ return this;
}
/**
@@ -286,9 +307,12 @@ public class TransactionConfiguration implements Serializable {
* @param factory Transaction manager factory.
* @param <T> Instance of {@code javax.transaction.TransactionManager}.
* @see #setUseJtaSynchronization(boolean)
+ * @return {@code this} for chaining.
*/
- public <T> void setTxManagerFactory(Factory<T> factory) {
+ public <T> TransactionConfiguration setTxManagerFactory(Factory<T> factory) {
txManagerFactory = factory;
+
+ return this;
}
/**
@@ -309,8 +333,11 @@ public class TransactionConfiguration implements Serializable {
* @param useJtaSync Whether to use JTA {@code javax.transaction.Synchronization}
* instead of {@code javax.transaction.xa.XAResource}.
* @see #setTxManagerFactory(Factory)
+ * @return {@code this} for chaining.
*/
- public void setUseJtaSynchronization(boolean useJtaSync) {
+ public TransactionConfiguration setUseJtaSynchronization(boolean useJtaSync) {
this.useJtaSync = useJtaSync;
+
+ return this;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java
index 09143d4..7019c57 100644
--- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java
@@ -124,9 +124,12 @@ public class IgfsGroupDataBlocksKeyMapper extends GridCacheDefaultAffinityKeyMap
* Set group size. See {@link #getGroupSize()} for more information.
*
* @param grpSize Group size.
+ * @return {@code this} for chaining.
*/
- public void setGroupSize(int grpSize) {
+ public IgfsGroupDataBlocksKeyMapper setGroupSize(int grpSize) {
this.grpSize = grpSize;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java
index 1c68d0f..b79f68e 100644
--- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java
@@ -113,9 +113,12 @@ public class IgfsIpcEndpointConfiguration {
* Defaults to {@link #DFLT_TYPE}.
*
* @param type Endpoint type.
+ * @return {@code this} for chaining.
*/
- public void setType(IgfsIpcEndpointType type) {
+ public IgfsIpcEndpointConfiguration setType(IgfsIpcEndpointType type) {
this.type = type;
+
+ return this;
}
/**
@@ -147,9 +150,12 @@ public class IgfsIpcEndpointConfiguration {
* Defaults to {@link #DFLT_HOST}.
*
* @param host Host.
+ * @return {@code this} for chaining.
*/
- public void setHost(String host) {
+ public IgfsIpcEndpointConfiguration setHost(String host) {
this.host = host;
+
+ return this;
}
/**
@@ -179,9 +185,12 @@ public class IgfsIpcEndpointConfiguration {
* Defaults to {@link #DFLT_PORT}.
*
* @param port Port.
+ * @return {@code this} for chaining.
*/
- public void setPort(int port) {
+ public IgfsIpcEndpointConfiguration setPort(int port) {
this.port = port;
+
+ return this;
}
/**
@@ -205,9 +214,12 @@ public class IgfsIpcEndpointConfiguration {
* Defaults to {@link #DFLT_MEM_SIZE}.
*
* @param memSize Shared memory size.
+ * @return {@code this} for chaining.
*/
- public void setMemorySize(int memSize) {
+ public IgfsIpcEndpointConfiguration setMemorySize(int memSize) {
this.memSize = memSize;
+
+ return this;
}
/**
@@ -237,9 +249,12 @@ public class IgfsIpcEndpointConfiguration {
* Defaults to {@link #DFLT_TOKEN_DIR_PATH}.
*
* @param tokenDirPath Directory where shared memory tokens are stored.
+ * @return {@code this} for chaining.
*/
- public void setTokenDirectoryPath(String tokenDirPath) {
+ public IgfsIpcEndpointConfiguration setTokenDirectoryPath(String tokenDirPath) {
this.tokenDirPath = tokenDirPath;
+
+ return this;
}
/**
@@ -259,9 +274,12 @@ public class IgfsIpcEndpointConfiguration {
* See {@link #getThreadCount()} for more information.
*
* @param threadCnt Number of threads used by this endpoint to process incoming requests.
+ * @return {@code this} for chaining.
*/
- public void setThreadCount(int threadCnt) {
+ public IgfsIpcEndpointConfiguration setThreadCount(int threadCnt) {
this.threadCnt = threadCnt;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
index cac1bb3..a54f882 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
@@ -234,18 +234,24 @@ public class GridClientConfiguration {
* Sets list of servers this client should connect to.
*
* @param srvs List of servers.
+ * @return {@code this} for chaining.
*/
- public void setServers(Collection<String> srvs) {
+ public GridClientConfiguration setServers(Collection<String> srvs) {
this.srvs = srvs != null ? srvs : Collections.<String>emptySet();
+
+ return this;
}
/**
* Sets list of routers this client should connect to.
*
* @param routers List of routers.
+ * @return {@code this} for chaining.
*/
- public void setRouters(Collection<String> routers) {
+ public GridClientConfiguration setRouters(Collection<String> routers) {
this.routers = routers != null ? routers : Collections.<String>emptySet();
+
+ return this;
}
/**
@@ -264,9 +270,12 @@ public class GridClientConfiguration {
*
* @param proto Protocol type.
* @see GridClientProtocol
+ * @return {@code this} for chaining.
*/
- public void setProtocol(GridClientProtocol proto) {
+ public GridClientConfiguration setProtocol(GridClientProtocol proto) {
this.proto = proto;
+
+ return this;
}
/**
@@ -296,18 +305,24 @@ public class GridClientConfiguration {
* Sets whether {@code TCP_NODELAY} flag should be set on underlying socket connections.
*
* @param tcpNoDelay {@code True} if flag should be set.
+ * @return {@code this} for chaining.
*/
- public void setTcpNoDelay(boolean tcpNoDelay) {
+ public GridClientConfiguration setTcpNoDelay(boolean tcpNoDelay) {
this.tcpNoDelay = tcpNoDelay;
+
+ return this;
}
/**
* Sets timeout for socket connect operation.
*
* @param connectTimeout Connect timeout in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setConnectTimeout(int connectTimeout) {
+ public GridClientConfiguration setConnectTimeout(int connectTimeout) {
this.connectTimeout = connectTimeout;
+
+ return this;
}
/**
@@ -325,9 +340,12 @@ public class GridClientConfiguration {
* Sets SSL context factory that will be used for creation of secure connections.
*
* @param sslCtxFactory Context factory.
+ * @return {@code this} for chaining.
*/
- public void setSslContextFactory(GridSslContextFactory sslCtxFactory) {
+ public GridClientConfiguration setSslContextFactory(GridSslContextFactory sslCtxFactory) {
this.sslCtxFactory = sslCtxFactory;
+
+ return this;
}
/**
@@ -345,9 +363,12 @@ public class GridClientConfiguration {
* Sets default compute balancer.
*
* @param balancer Balancer to use.
+ * @return {@code this} for chaining.
*/
- public void setBalancer(GridClientLoadBalancer balancer) {
+ public GridClientConfiguration setBalancer(GridClientLoadBalancer balancer) {
this.balancer = balancer;
+
+ return this;
}
/**
@@ -363,9 +384,12 @@ public class GridClientConfiguration {
* Sets client credentials provider used in authentication process.
*
* @param credProvider Client credentials provider.
+ * @return {@code this} for chaining.
*/
- public void setSecurityCredentialsProvider(SecurityCredentialsProvider credProvider) {
+ public GridClientConfiguration setSecurityCredentialsProvider(SecurityCredentialsProvider credProvider) {
this.credProvider = credProvider;
+
+ return this;
}
/**
@@ -381,12 +405,15 @@ public class GridClientConfiguration {
* Sets data configurations.
*
* @param dataCfgs Data configurations.
+ * @return {@code this} for chaining.
*/
- public void setDataConfigurations(Collection<? extends GridClientDataConfiguration> dataCfgs) {
+ public GridClientConfiguration setDataConfigurations(Collection<? extends GridClientDataConfiguration> dataCfgs) {
this.dataCfgs = U.newHashMap(dataCfgs.size());
for (GridClientDataConfiguration dataCfg : dataCfgs)
this.dataCfgs.put(dataCfg.getName(), new GridClientDataConfiguration(dataCfg));
+
+ return this;
}
/**
@@ -403,9 +430,12 @@ public class GridClientConfiguration {
* Sets flag indicating whether node and cache metrics should be cached by client.
*
* @param enableMetricsCache {@code True} if cache should be enabled.
+ * @return {@code this} for chaining.
*/
- public void setEnableMetricsCache(boolean enableMetricsCache) {
+ public GridClientConfiguration setEnableMetricsCache(boolean enableMetricsCache) {
this.enableMetricsCache = enableMetricsCache;
+
+ return this;
}
/**
@@ -430,9 +460,12 @@ public class GridClientConfiguration {
* Sets flag indicating whether node attributes should be cached by client.
*
* @param enableAttrsCache {@code True} if cache should be enabled.
+ * @return {@code this} for chaining.
*/
- public void setEnableAttributesCache(boolean enableAttrsCache) {
+ public GridClientConfiguration setEnableAttributesCache(boolean enableAttrsCache) {
this.enableAttrsCache = enableAttrsCache;
+
+ return this;
}
/**
@@ -457,9 +490,12 @@ public class GridClientConfiguration {
* Sets flag indicating whether node metrics should be fetched by client automatically.
*
* @param autoFetchMetrics {@code True} if metrics should be fetched.
+ * @return {@code this} for chaining.
*/
- public void setAutoFetchMetrics(boolean autoFetchMetrics) {
+ public GridClientConfiguration setAutoFetchMetrics(boolean autoFetchMetrics) {
this.autoFetchMetrics = autoFetchMetrics;
+
+ return this;
}
/**
@@ -483,9 +519,12 @@ public class GridClientConfiguration {
* Sets flag indicating whether node attributes should be fetched by client automatically.
*
* @param autoFetchAttrs {@code True} if attributes should be fetched.
+ * @return {@code this} for chaining.
*/
- public void setAutoFetchAttributes(boolean autoFetchAttrs) {
+ public GridClientConfiguration setAutoFetchAttributes(boolean autoFetchAttrs) {
this.autoFetchAttrs = autoFetchAttrs;
+
+ return this;
}
/**
@@ -516,9 +555,12 @@ public class GridClientConfiguration {
* will be refreshed every {@code topRefreshFreq} milliseconds.
*
* @param topRefreshFreq Topology refresh frequency in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setTopologyRefreshFrequency(long topRefreshFreq) {
+ public GridClientConfiguration setTopologyRefreshFrequency(long topRefreshFreq) {
this.topRefreshFreq = topRefreshFreq;
+
+ return this;
}
/**
@@ -535,9 +577,12 @@ public class GridClientConfiguration {
* Sets maximum time in milliseconds which connection can be idle before it is closed by client.
*
* @param maxConnIdleTime Maximum time of connection idleness in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setMaxConnectionIdleTime(long maxConnIdleTime) {
+ public GridClientConfiguration setMaxConnectionIdleTime(long maxConnIdleTime) {
this.maxConnIdleTime = maxConnIdleTime;
+
+ return this;
}
/**
@@ -557,9 +602,12 @@ public class GridClientConfiguration {
* Sets ping interval in milliseconds.
*
* @param pingInterval Ping interval in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setPingInterval(long pingInterval) {
+ public GridClientConfiguration setPingInterval(long pingInterval) {
this.pingInterval = pingInterval;
+
+ return this;
}
/**
@@ -580,9 +628,12 @@ public class GridClientConfiguration {
* Sets ping timeout in milliseconds.
*
* @param pingTimeout Ping interval in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setPingTimeout(long pingTimeout) {
+ public GridClientConfiguration setPingTimeout(long pingTimeout) {
this.pingTimeout = pingTimeout;
+
+ return this;
}
/**
@@ -603,9 +654,12 @@ public class GridClientConfiguration {
* Sets executor service.
*
* @param executor Executor service to use in client.
+ * @return {@code this} for chaining.
*/
- public void setExecutorService(ExecutorService executor) {
+ public GridClientConfiguration setExecutorService(ExecutorService executor) {
this.executor = executor;
+
+ return this;
}
/**
@@ -628,9 +682,12 @@ public class GridClientConfiguration {
* Sets the marshaller to use for communication.
*
* @param marshaller A marshaller to use.
+ * @return {@code this} for chaining.
*/
- public void setMarshaller(GridClientMarshaller marshaller) {
+ public GridClientConfiguration setMarshaller(GridClientMarshaller marshaller) {
this.marshaller = marshaller;
+
+ return this;
}
/**
@@ -836,9 +893,12 @@ public class GridClientConfiguration {
* Set the daemon flag value. Communication threads will be created as daemons if this flag is set.
*
* @param daemon Daemon flag.
+ * @return {@code this} for chaining.
*/
- public void setDaemon(boolean daemon) {
+ public GridClientConfiguration setDaemon(boolean daemon) {
this.daemon = daemon;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java
index 322bccd..9a52554 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java
@@ -65,9 +65,12 @@ public class GridClientDataConfiguration {
* Sets grid cache name for this configuration.
*
* @param name Cache name.
+ * @return {@code this} for chaining.
*/
- public void setName(String name) {
+ public GridClientDataConfiguration setName(String name) {
this.name = name;
+
+ return this;
}
/**
@@ -93,9 +96,12 @@ public class GridClientDataConfiguration {
* work with remote partitioned caches.
*
* @param affinity Client data affinity.
+ * @return {@code this} for chaining.
*/
- public void setAffinity(GridClientDataAffinity affinity) {
+ public GridClientDataConfiguration setAffinity(GridClientDataAffinity affinity) {
this.affinity = affinity;
+
+ return this;
}
/**
@@ -112,8 +118,11 @@ public class GridClientDataConfiguration {
* Sets balancer for pinned mode for this configuration.
*
* @param balancer Balancer that will be used in pinned mode.
+ * @return {@code this} for chaining.
*/
- public void setBalancer(GridClientLoadBalancer balancer) {
+ public GridClientDataConfiguration setBalancer(GridClientLoadBalancer balancer) {
this.balancer = balancer;
+
+ return this;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java
index 53a49c6..21f4abe 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java
@@ -143,9 +143,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid
* Sets total number of partitions.
*
* @param parts Total number of partitions.
+ * @return {@code this} for chaining.
*/
- public void setPartitions(int parts) {
+ public GridClientPartitionAffinity setPartitions(int parts) {
this.parts = parts;
+
+ return this;
}
/**
@@ -175,9 +178,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid
* repartitioning.
*
* @param hashIdRslvr Hash ID resolver.
+ * @return {@code this} for chaining.
*/
- public void setHashIdResolver(HashIdResolver hashIdRslvr) {
+ public GridClientPartitionAffinity setHashIdResolver(HashIdResolver hashIdRslvr) {
this.hashIdRslvr = hashIdRslvr;
+
+ return this;
}
/**
@@ -201,9 +207,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid
* Note that {@code excludeNeighbors} parameter is ignored if {@code backupFilter} is set.
*
* @param backupFilter Optional backup filter.
+ * @return {@code this} for chaining.
*/
- public void setBackupFilter(GridClientPredicate<UUID> backupFilter) {
+ public GridClientPartitionAffinity setBackupFilter(GridClientPredicate<UUID> backupFilter) {
this.backupFilter = backupFilter;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java
index 3eb7e1d..75d4163 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java
@@ -58,9 +58,12 @@ public abstract class GridClientBalancerAdapter implements GridClientLoadBalance
* Sets prefer direct nodes.
*
* @param preferDirectNodes Prefer direct nodes.
+ * @return {@code this} for chaining.
*/
- public void setPreferDirectNodes(boolean preferDirectNodes) {
+ public GridClientBalancerAdapter setPreferDirectNodes(boolean preferDirectNodes) {
this.preferDirectNodes = preferDirectNodes;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java
index 191f4ac..e37ffea 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java
@@ -207,18 +207,24 @@ public class GridTcpRouterConfiguration {
* Sets host for router.
*
* @param host Host.
+ * @return {@code this} for chaining.
*/
- public void setHost(String host) {
+ public GridTcpRouterConfiguration setHost(String host) {
this.host = host;
+
+ return this;
}
/**
* Sets port for router.
*
* @param port Port.
+ * @return {@code this} for chaining.
*/
- public void setPort(int port) {
+ public GridTcpRouterConfiguration setPort(int port) {
this.port = port;
+
+ return this;
}
/**
@@ -228,11 +234,14 @@ public class GridTcpRouterConfiguration {
*
* @param portRange Port range.
* @see #DFLT_PORT_RANGE
+ * @return {@code this} for chaining.
*/
- public void setPortRange(int portRange) {
+ public GridTcpRouterConfiguration setPortRange(int portRange) {
A.ensure(portRange >= 0, "portRange >= 0");
this.portRange = portRange;
+
+ return this;
}
/**
@@ -240,18 +249,24 @@ public class GridTcpRouterConfiguration {
* for accepted client connections.
*
* @param noDelay No delay.
+ * @return {@code this} for chaining.
*/
- public void setNoDelay(boolean noDelay) {
+ public GridTcpRouterConfiguration setNoDelay(boolean noDelay) {
this.noDelay = noDelay;
+
+ return this;
}
/**
* Sets idle timeout.
*
* @param idleTimeout Idle timeout in milliseconds.
+ * @return {@code this} for chaining.
*/
- public void setIdleTimeout(long idleTimeout) {
+ public GridTcpRouterConfiguration setIdleTimeout(long idleTimeout) {
this.idleTimeout = idleTimeout;
+
+ return this;
}
/**
@@ -259,9 +274,12 @@ public class GridTcpRouterConfiguration {
* a valid SSL certificate which validity will be verified with trust manager.
*
* @param sslClientAuth Ssl client auth.
+ * @return {@code this} for chaining.
*/
- public void setSslClientAuth(boolean sslClientAuth) {
+ public GridTcpRouterConfiguration setSslClientAuth(boolean sslClientAuth) {
this.sslClientAuth = sslClientAuth;
+
+ return this;
}
/**
@@ -269,36 +287,48 @@ public class GridTcpRouterConfiguration {
* of both rest binary server and out coming connections.
*
* @param sslCtxFactory Ssl context factory.
+ * @return {@code this} for chaining.
*/
- public void setSslContextFactory(GridSslContextFactory sslCtxFactory) {
+ public GridTcpRouterConfiguration setSslContextFactory(GridSslContextFactory sslCtxFactory) {
this.sslCtxFactory = sslCtxFactory;
+
+ return this;
}
/**
* Sets list of server addresses where router's embedded client should connect.
*
* @param srvrs List of servers.
+ * @return {@code this} for chaining.
*/
- public void setServers(Collection<String> srvrs) {
+ public GridTcpRouterConfiguration setServers(Collection<String> srvrs) {
this.srvrs = srvrs;
+
+ return this;
}
/**
* Sets logger for the router instance.
*
* @param log Logger.
+ * @return {@code this} for chaining.
*/
- public void setLogger(IgniteLogger log) {
+ public GridTcpRouterConfiguration setLogger(IgniteLogger log) {
this.log = log;
+
+ return this;
}
/**
* Sets credentials provider for grid access.
*
* @param credsProvider Credentials provider.
+ * @return {@code this} for chaining.
*/
- public void setSecurityCredentialsProvider(SecurityCredentialsProvider credsProvider) {
+ public GridTcpRouterConfiguration setSecurityCredentialsProvider(SecurityCredentialsProvider credsProvider) {
this.credsProvider = credsProvider;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java
index 19dedf6..3d4eaba 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.jdbc2;
+import java.util.concurrent.TimeUnit;
import org.apache.ignite.cache.query.SqlFieldsQuery;
/**
@@ -45,4 +46,60 @@ public final class JdbcSqlFieldsQuery extends SqlFieldsQuery {
public boolean isQuery() {
return isQry;
}
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setSql(String sql) {
+ super.setSql(sql);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setArgs(Object... args) {
+ super.setArgs(args);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setTimeout(int timeout, TimeUnit timeUnit) {
+ super.setTimeout(timeout, timeUnit);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setCollocated(boolean collocated) {
+ super.setCollocated(collocated);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setEnforceJoinOrder(boolean enforceJoinOrder) {
+ super.setEnforceJoinOrder(enforceJoinOrder);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setDistributedJoins(boolean distributedJoins) {
+ super.setDistributedJoins(distributedJoins);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setPageSize(int pageSize) {
+ super.setPageSize(pageSize);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public JdbcSqlFieldsQuery setLocal(boolean loc) {
+ super.setLocal(loc);
+
+ return this;
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index a7d38a7..966fa8e 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -120,6 +120,7 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.lifecycle.LifecycleAware;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.marshaller.MarshallerUtils;
+import org.apache.ignite.mxbean.IgniteMBeanAware;
import org.apache.ignite.spi.IgniteNodeValidationResult;
import org.apache.ignite.spi.discovery.DiscoveryDataBag;
import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData;
@@ -3560,15 +3561,15 @@ public class GridCacheProcessor extends GridProcessorAdapter {
/**
* Registers MBean for cache components.
*
- * @param o Cache component.
+ * @param obj Cache component.
* @param cacheName Cache name.
* @param near Near flag.
* @throws IgniteCheckedException If registration failed.
*/
@SuppressWarnings("unchecked")
- private void registerMbean(Object o, @Nullable String cacheName, boolean near)
+ private void registerMbean(Object obj, @Nullable String cacheName, boolean near)
throws IgniteCheckedException {
- assert o != null;
+ assert obj != null;
MBeanServer srvr = ctx.config().getMBeanServer();
@@ -3578,14 +3579,16 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cacheName = near ? cacheName + "-near" : cacheName;
- for (Class<?> itf : o.getClass().getInterfaces()) {
+ final Object mbeanImpl = (obj instanceof IgniteMBeanAware) ? ((IgniteMBeanAware)obj).getMBean() : obj;
+
+ for (Class<?> itf : mbeanImpl.getClass().getInterfaces()) {
if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) {
try {
- U.registerCacheMBean(srvr, ctx.igniteInstanceName(), cacheName, o.getClass().getName(), o,
+ U.registerCacheMBean(srvr, ctx.igniteInstanceName(), cacheName, obj.getClass().getName(), mbeanImpl,
(Class<Object>)itf);
}
catch (JMException e) {
- throw new IgniteCheckedException("Failed to register MBean for component: " + o, e);
+ throw new IgniteCheckedException("Failed to register MBean for component: " + obj, e);
}
break;
@@ -3611,16 +3614,24 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cacheName = near ? cacheName + "-near" : cacheName;
- for (Class<?> itf : o.getClass().getInterfaces()) {
- if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) {
- try {
- srvr.unregisterMBean(U.makeCacheMBeanName(ctx.igniteInstanceName(), cacheName, o.getClass().getName()));
- }
- catch (JMException e) {
- U.error(log, "Failed to unregister MBean for component: " + o, e);
+ boolean needToUnregister = o instanceof IgniteMBeanAware;
+
+ if (!needToUnregister) {
+ for (Class<?> itf : o.getClass().getInterfaces()) {
+ if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) {
+ needToUnregister = true;
+
+ break;
}
+ }
+ }
- break;
+ if (needToUnregister) {
+ try {
+ srvr.unregisterMBean(U.makeCacheMBeanName(ctx.igniteInstanceName(), cacheName, o.getClass().getName()));
+ }
+ catch (JMException e) {
+ U.error(log, "Failed to unregister MBean for component: " + o, e);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java
index 8448733..a5d793d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.platform.dotnet;
+import java.util.List;
import org.apache.ignite.internal.logger.platform.PlatformLogger;
import org.apache.ignite.internal.processors.platform.PlatformConfigurationEx;
import org.apache.ignite.internal.processors.platform.cache.PlatformCacheExtension;
@@ -25,6 +26,7 @@ import org.apache.ignite.internal.processors.platform.entityframework.PlatformDo
import org.apache.ignite.internal.processors.platform.memory.PlatformMemoryManagerImpl;
import org.apache.ignite.internal.processors.platform.utils.PlatformUtils;
import org.apache.ignite.internal.processors.platform.websession.PlatformDotNetSessionCacheExtension;
+import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryConfiguration;
import org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration;
import org.jetbrains.annotations.Nullable;
@@ -98,11 +100,28 @@ public class PlatformDotNetConfigurationEx extends PlatformDotNetConfiguration i
return logger;
}
+ /** {@inheritDoc} */
+ @Override public PlatformDotNetConfigurationEx setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) {
+ super.setBinaryConfiguration(binaryCfg);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public PlatformDotNetConfigurationEx setAssemblies(List<String> assemblies) {
+ super.setAssemblies(assemblies);
+
+ return this;
+ }
+
/**
* @param warnings Warnings.
+ * @return {@code this} for chaining.
*/
- public void warnings(Collection<String> warnings) {
+ public PlatformDotNetConfigurationEx warnings(Collection<String> warnings) {
this.warnings = warnings;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index b2926e3..5f73f79 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@ -62,7 +62,6 @@ import org.apache.ignite.plugin.platform.PlatformPluginConfigurationClosure;
import org.apache.ignite.plugin.platform.PlatformPluginConfigurationClosureFactory;
import org.apache.ignite.spi.communication.CommunicationSpi;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
-import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean;
import org.apache.ignite.spi.discovery.DiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
@@ -1014,7 +1013,7 @@ public class PlatformConfigurationUtils {
if (comm instanceof TcpCommunicationSpi) {
w.writeBoolean(true);
- TcpCommunicationSpiMBean tcp = (TcpCommunicationSpiMBean) comm;
+ TcpCommunicationSpi tcp = (TcpCommunicationSpi) comm;
w.writeInt(tcp.getAckSendThreshold());
w.writeLong(tcp.getConnectTimeout());
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
index 6d57864..e61e8dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
@@ -124,18 +124,24 @@ public class OptimizedMarshaller extends AbstractNodeNameAwareMarshaller {
* Sets whether marshaller should require {@link Serializable} interface or not.
*
* @param requireSer Whether to require {@link Serializable}.
+ * @return {@code this} for chaining.
*/
- public void setRequireSerializable(boolean requireSer) {
+ public OptimizedMarshaller setRequireSerializable(boolean requireSer) {
this.requireSer = requireSer;
+
+ return this;
}
/**
* Sets ID mapper.
*
* @param mapper ID mapper.
+ * @return {@code this} for chaining.
*/
- public void setIdMapper(OptimizedMarshallerIdMapper mapper) {
+ public OptimizedMarshaller setIdMapper(OptimizedMarshallerIdMapper mapper) {
this.mapper = mapper;
+
+ return this;
}
/**
@@ -152,9 +158,12 @@ public class OptimizedMarshaller extends AbstractNodeNameAwareMarshaller {
* different threads which will lead to more frequent context switching.
*
* @param poolSize Streams pool size. If {@code 0}, pool is not used.
+ * @return {@code this} for chaining.
*/
- public void setPoolSize(int poolSize) {
+ public OptimizedMarshaller setPoolSize(int poolSize) {
OptimizedObjectStreamRegistry.poolSize(poolSize);
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java
new file mode 100644
index 0000000..ef917b5
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java
@@ -0,0 +1,28 @@
+/*
+ * 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.mxbean;
+
+/**
+ * MBean-aware interface.
+ */
+public interface IgniteMBeanAware {
+ /**
+ * @return MBean for this object.
+ */
+ Object getMBean();
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java
index f9f457d..f51a41d 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java
@@ -64,9 +64,12 @@ public class PlatformDotNetAffinityFunction implements AffinityFunction, Externa
* Sets .NET type name.
*
* @param typName .NET type name.
+ * @return {@code this} for chaining.
*/
- public void setTypeName(String typName) {
+ public PlatformDotNetAffinityFunction setTypeName(String typName) {
this.typName = typName;
+
+ return this;
}
/**
@@ -82,9 +85,12 @@ public class PlatformDotNetAffinityFunction implements AffinityFunction, Externa
* Set properties.
*
* @param props Properties.
+ * @return {@code this} for chaining.
*/
- public void setProperties(Map<String, ?> props) {
+ public PlatformDotNetAffinityFunction setProperties(Map<String, ?> props) {
this.props = props;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java
index 7c5da2f..876a58c 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java
@@ -81,9 +81,13 @@ public class PlatformDotNetBinaryConfiguration {
/**
* @param typesCfg New type cfgs.
+ * @return {@code this} for chaining.
*/
- public void setTypesConfiguration(Collection<PlatformDotNetBinaryTypeConfiguration> typesCfg) {
+ public PlatformDotNetBinaryConfiguration setTypesConfiguration(
+ Collection<PlatformDotNetBinaryTypeConfiguration> typesCfg) {
this.typesCfg = typesCfg;
+
+ return this;
}
/**
@@ -95,9 +99,12 @@ public class PlatformDotNetBinaryConfiguration {
/**
* @param types New types.
+ * @return {@code this} for chaining.
*/
- public void setTypes(Collection<String> types) {
+ public PlatformDotNetBinaryConfiguration setTypes(Collection<String> types) {
this.types = types;
+
+ return this;
}
/**
@@ -109,9 +116,12 @@ public class PlatformDotNetBinaryConfiguration {
/**
* @param dfltNameMapper New default name mapper.
+ * @return {@code this} for chaining.
*/
- public void setDefaultNameMapper(String dfltNameMapper) {
+ public PlatformDotNetBinaryConfiguration setDefaultNameMapper(String dfltNameMapper) {
this.dfltNameMapper = dfltNameMapper;
+
+ return this;
}
/**
@@ -123,9 +133,12 @@ public class PlatformDotNetBinaryConfiguration {
/**
* @param dfltIdMapper New default id mapper.
+ * @return {@code this} for chaining.
*/
- public void setDefaultIdMapper(String dfltIdMapper) {
+ public PlatformDotNetBinaryConfiguration setDefaultIdMapper(String dfltIdMapper) {
this.dfltIdMapper = dfltIdMapper;
+
+ return this;
}
/**
@@ -137,9 +150,12 @@ public class PlatformDotNetBinaryConfiguration {
/**
* @param dfltSerializer New default serializer.
+ * @return {@code this} for chaining.
*/
- public void setDefaultSerializer(String dfltSerializer) {
+ public PlatformDotNetBinaryConfiguration setDefaultSerializer(String dfltSerializer) {
this.dfltSerializer = dfltSerializer;
+
+ return this;
}
/**
@@ -158,9 +174,12 @@ public class PlatformDotNetBinaryConfiguration {
* {@link PlatformDotNetBinaryTypeConfiguration#setKeepDeserialized(Boolean)}.
*
* @param keepDeserialized Keep deserialized flag.
+ * @return {@code this} for chaining.
*/
- public void setDefaultKeepDeserialized(boolean keepDeserialized) {
+ public PlatformDotNetBinaryConfiguration setDefaultKeepDeserialized(boolean keepDeserialized) {
this.dfltKeepDeserialized = keepDeserialized;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java
index cae5760..1949f71 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java
@@ -75,9 +75,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
/**
* @param typeName New type name.
+ * @return {@code this} for chaining.
*/
- public void setTypeName(String typeName) {
+ public PlatformDotNetBinaryTypeConfiguration setTypeName(String typeName) {
this.typeName = typeName;
+
+ return this;
}
/**
@@ -89,9 +92,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
/**
* @param nameMapper New name mapper.
+ * @return {@code this} for chaining.
*/
- public void setNameMapper(String nameMapper) {
+ public PlatformDotNetBinaryTypeConfiguration setNameMapper(String nameMapper) {
this.nameMapper = nameMapper;
+
+ return this;
}
/**
@@ -103,9 +109,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
/**
* @param idMapper New id mapper.
+ * @return {@code this} for chaining.
*/
- public void setIdMapper(String idMapper) {
+ public PlatformDotNetBinaryTypeConfiguration setIdMapper(String idMapper) {
this.idMapper = idMapper;
+
+ return this;
}
/**
@@ -117,9 +126,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
/**
* @param serializer New serializer.
+ * @return {@code this} for chaining.
*/
- public void setSerializer(String serializer) {
+ public PlatformDotNetBinaryTypeConfiguration setSerializer(String serializer) {
this.serializer = serializer;
+
+ return this;
}
/**
@@ -131,9 +143,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
/**
* @param affinityKeyFieldName Affinity key field name.
+ * @return {@code this} for chaining.
*/
- public void setAffinityKeyFieldName(String affinityKeyFieldName) {
+ public PlatformDotNetBinaryTypeConfiguration setAffinityKeyFieldName(String affinityKeyFieldName) {
this.affinityKeyFieldName = affinityKeyFieldName;
+
+ return this;
}
/**
@@ -163,9 +178,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
* {@link PlatformDotNetBinaryConfiguration#isDefaultKeepDeserialized()} will be used.
*
* @param keepDeserialized Keep deserialized flag.
+ * @return {@code this} for chaining.
*/
- public void setKeepDeserialized(@Nullable Boolean keepDeserialized) {
+ public PlatformDotNetBinaryTypeConfiguration setKeepDeserialized(@Nullable Boolean keepDeserialized) {
this.keepDeserialized = keepDeserialized;
+
+ return this;
}
/**
@@ -181,9 +199,12 @@ public class PlatformDotNetBinaryTypeConfiguration {
* Sets whether this is enum type.
*
* @param isEnum {@code True} if enum.
+ * @return {@code this} for chaining.
*/
- public void setEnum(boolean isEnum) {
+ public PlatformDotNetBinaryTypeConfiguration setEnum(boolean isEnum) {
this.isEnum = isEnum;
+
+ return this;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java
index d31ab95..1c058c1 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java
@@ -62,9 +62,12 @@ public class PlatformDotNetConfiguration implements PlatformConfiguration {
/**
* @param binaryCfg Configuration.
+ * @return {@code this} for chaining.
*/
- public void setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) {
+ public PlatformDotNetConfiguration setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) {
this.binaryCfg = binaryCfg;
+
+ return this;
}
/**
@@ -77,9 +80,12 @@ public class PlatformDotNetConfiguration implements PlatformConfiguration {
/**
*
* @param assemblies Assemblies.
+ * @return {@code this} for chaining.
*/
- public void setAssemblies(List<String> assemblies) {
+ public PlatformDotNetConfiguration setAssemblies(List<String> assemblies) {
this.assemblies = assemblies;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java
index 6698dd4..0589b79 100644
--- a/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java
@@ -94,9 +94,12 @@ public class ServiceConfiguration implements Serializable {
* This parameter is mandatory when deploying a service.
*
* @param name Service name.
+ * @return {@code this} for chaining.
*/
- public void setName(String name) {
+ public ServiceConfiguration setName(String name) {
this.name = name;
+
+ return this;
}
/**
@@ -116,9 +119,12 @@ public class ServiceConfiguration implements Serializable {
* This parameter is mandatory when deploying a service.
*
* @param svc Service instance.
+ * @return {@code this} for chaining.
*/
- public void setService(Service svc) {
+ public ServiceConfiguration setService(Service svc) {
this.svc = svc;
+
+ return this;
}
/**
@@ -138,9 +144,12 @@ public class ServiceConfiguration implements Serializable {
* At least one of {@code getTotalCount()} or {@link #getMaxPerNodeCount()} values must be positive.
*
* @param totalCnt Total number of deployed service instances in the cluster, {@code 0} for unlimited.
+ * @return {@code this} for chaining.
*/
- public void setTotalCount(int totalCnt) {
+ public ServiceConfiguration setTotalCount(int totalCnt) {
this.totalCnt = totalCnt;
+
+ return this;
}
/**
@@ -160,9 +169,12 @@ public class ServiceConfiguration implements Serializable {
* At least one of {@code getMaxPerNodeCount()} or {@link #getTotalCount()} values must be positive.
*
* @param maxPerNodeCnt Maximum number of deployed service instances on each node, {@code 0} for unlimited.
+ * @return {@code this} for chaining.
*/
- public void setMaxPerNodeCount(int maxPerNodeCnt) {
+ public ServiceConfiguration setMaxPerNodeCount(int maxPerNodeCnt) {
this.maxPerNodeCnt = maxPerNodeCnt;
+
+ return this;
}
/**
@@ -182,9 +194,12 @@ public class ServiceConfiguration implements Serializable {
* This parameter is optional and is set only when deploying service based on key-affinity.
*
* @param cacheName Cache name, possibly {@code null}.
+ * @return {@code this} for chaining.
*/
- public void setCacheName(String cacheName) {
+ public ServiceConfiguration setCacheName(String cacheName) {
this.cacheName = cacheName;
+
+ return this;
}
/**
@@ -204,9 +219,12 @@ public class ServiceConfiguration implements Serializable {
* This parameter is optional and is set only when deploying service based on key-affinity.
*
* @param affKey Affinity key, possibly {@code null}.
+ * @return {@code this} for chaining.
*/
- public void setAffinityKey(Object affKey) {
+ public ServiceConfiguration setAffinityKey(Object affKey) {
this.affKey = affKey;
+
+ return this;
}
/**
@@ -228,9 +246,12 @@ public class ServiceConfiguration implements Serializable {
* nodes in the grid, based on configuration.
*
* @param nodeFilter Node filter used to filter nodes on which the service will be deployed, possibly {@code null}.
+ * @return {@code this} for chaining.
*/
- public void setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) {
+ public ServiceConfiguration setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) {
this.nodeFilter = nodeFilter;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 ab14a57..d1219f7 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
@@ -18,10 +18,8 @@
package org.apache.ignite.spi;
import java.io.Serializable;
-import java.text.DateFormat;
import java.util.Collection;
import java.util.Collections;
-import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -43,7 +41,6 @@ import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.internal.processors.timeout.GridSpiTimeoutObject;
import org.apache.ignite.internal.util.IgniteExceptionRegistry;
import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -65,7 +62,7 @@ import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
/**
* This class provides convenient adapter for SPI implementations.
*/
-public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagementMBean {
+public abstract class IgniteSpiAdapter implements IgniteSpi {
/** */
private ObjectName spiMBean;
@@ -142,31 +139,6 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
return startedFlag.get();
}
- /** {@inheritDoc} */
- @Override public final String getStartTimestampFormatted() {
- return DateFormat.getDateTimeInstance().format(new Date(startTstamp));
- }
-
- /** {@inheritDoc} */
- @Override public final String getUpTimeFormatted() {
- return X.timeSpan2HMSM(getUpTime());
- }
-
- /** {@inheritDoc} */
- @Override public final long getStartTimestamp() {
- return startTstamp;
- }
-
- /** {@inheritDoc} */
- @Override public final long getUpTime() {
- return startTstamp == 0 ? 0 : U.currentTimeMillis() - startTstamp;
- }
-
- /** {@inheritDoc} */
- @Override public UUID getLocalNodeId() {
- return ignite.cluster().localNode().id();
- }
-
/**
* @return Local node.
*/
@@ -180,11 +152,6 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
}
/** {@inheritDoc} */
- @Override public final String getIgniteHome() {
- return ignite.configuration().getIgniteHome();
- }
-
- /** {@inheritDoc} */
@Override public String getName() {
return name;
}
@@ -193,10 +160,13 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
* Sets SPI name.
*
* @param name SPI name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setName(String name) {
+ public IgniteSpiAdapter setName(String name) {
this.name = name;
+
+ return this;
}
/** {@inheritDoc} */
@@ -351,7 +321,15 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
* @return Uniformly formatted message for SPI start.
*/
protected final String startInfo() {
- return "SPI started ok [startMs=" + getUpTime() + ", spiMBean=" + spiMBean + ']';
+ return "SPI started ok [startMs=" + startTstamp + ", spiMBean=" + spiMBean + ']';
+ }
+
+ /**
+ * Gets SPI startup time.
+ * @return Time in millis.
+ */
+ final long getStartTstamp() {
+ return startTstamp;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java
new file mode 100644
index 0000000..8035333
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java
@@ -0,0 +1,78 @@
+/*
+ * 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;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.X;
+import org.apache.ignite.internal.util.typedef.internal.U;
+
+/**
+ * This class provides convenient adapter for MBean implementations.
+ */
+public class IgniteSpiMBeanAdapter implements IgniteSpiManagementMBean {
+ /** */
+ protected IgniteSpiAdapter spiAdapter;
+
+ /**
+ * Constructor
+ *
+ * @param spiAdapter Spi implementation.
+ */
+ public IgniteSpiMBeanAdapter(IgniteSpiAdapter spiAdapter) {
+ this.spiAdapter = spiAdapter;
+ }
+
+ /** {@inheritDoc} */
+ @Override public final String getStartTimestampFormatted() {
+ return DateFormat.getDateTimeInstance().format(new Date(spiAdapter.getStartTstamp()));
+ }
+
+ /** {@inheritDoc} */
+ @Override public final String getUpTimeFormatted() {
+ return X.timeSpan2HMSM(getUpTime());
+ }
+
+ /** {@inheritDoc} */
+ @Override public final long getStartTimestamp() {
+ return spiAdapter.getStartTstamp();
+ }
+
+ /** {@inheritDoc} */
+ @Override public final long getUpTime() {
+ final long startTstamp = spiAdapter.getStartTstamp();
+
+ return startTstamp == 0 ? 0 : U.currentTimeMillis() - startTstamp;
+ }
+
+ /** {@inheritDoc} */
+ @Override public UUID getLocalNodeId() {
+ return spiAdapter.ignite.cluster().localNode().id();
+ }
+
+ /** {@inheritDoc} */
+ @Override public final String getIgniteHome() {
+ return spiAdapter.ignite.configuration().getIgniteHome();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getName() {
+ return spiAdapter.getName();
+ }
+}
[3/5] ignite git commit: IGNITE-4564: All setters on public
configuration now return "this" instance to allow convenient chaining. This
closes #1449.
Posted by vo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.java
index 619c468..35cb62a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.java
@@ -30,6 +30,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
import org.apache.ignite.spi.checkpoint.CheckpointSpi;
@@ -101,7 +102,7 @@ import static org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_REMOVED;
* @see org.apache.ignite.spi.checkpoint.CheckpointSpi
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class CacheCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi, CacheCheckpointSpiMBean {
+public class CacheCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi {
/** Default cache name (value is <tt>checkpoints</tt>). */
public static final String DFLT_CACHE_NAME = "checkpoints";
@@ -124,14 +125,21 @@ public class CacheCheckpointSpi extends IgniteSpiAdapter implements CheckpointSp
* If cache name is not provided {@link #DFLT_CACHE_NAME} is used.
*
* @param cacheName Cache name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setCacheName(String cacheName) {
+ public CacheCheckpointSpi setCacheName(String cacheName) {
this.cacheName = cacheName;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public String getCacheName() {
+ /**
+ * Gets cache name to be used by this SPI..
+ *
+ * @return Cache name to be used by this SPI.
+ */
+ public String getCacheName() {
return cacheName;
}
@@ -146,7 +154,7 @@ public class CacheCheckpointSpi extends IgniteSpiAdapter implements CheckpointSp
if (log.isDebugEnabled())
log.debug(configInfo("cacheName", cacheName));
- registerMBean(igniteInstanceName, this, CacheCheckpointSpiMBean.class);
+ registerMBean(igniteInstanceName, new CacheCheckpointSpiMBeanImpl(this), CacheCheckpointSpiMBean.class);
if (log.isDebugEnabled())
log.debug(startInfo());
@@ -247,7 +255,29 @@ public class CacheCheckpointSpi extends IgniteSpiAdapter implements CheckpointSp
}
/** {@inheritDoc} */
+ @Override public CacheCheckpointSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(CacheCheckpointSpi.class, this);
}
+
+ /**
+ * MBean implementation for CacheCheckpointSpi.
+ */
+ private class CacheCheckpointSpiMBeanImpl extends IgniteSpiMBeanAdapter implements CacheCheckpointSpiMBean {
+ /** {@inheritDoc} */
+ CacheCheckpointSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getCacheName() {
+ return CacheCheckpointSpi.this.getCacheName();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.java
index a052704..744ce59 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.java
@@ -32,6 +32,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
import org.apache.ignite.spi.checkpoint.CheckpointSpi;
@@ -111,7 +112,7 @@ import org.apache.ignite.spi.checkpoint.CheckpointSpi;
*/
@SuppressWarnings({"JDBCResourceOpenedButNotSafelyClosed", "JDBCExecuteWithNonConstantString"})
@IgniteSpiMultipleInstancesSupport(true)
-public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi, JdbcCheckpointSpiMBean {
+public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi {
/** Default number of retries in case of errors (value is {@code 2}). */
public static final int DFLT_NUMBER_OF_RETRIES = 2;
@@ -242,58 +243,102 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
/** Listener. */
private CheckpointListener lsnr;
- /** {@inheritDoc} */
- @Override public int getNumberOfRetries() {
+ /**
+ * Gets number of retries in case of DB failure.
+ *
+ * @return Number of retries.
+ */
+ public int getNumberOfRetries() {
return retryNum;
}
- /** {@inheritDoc} */
- @Override public String getDataSourceInfo() {
+ /**
+ * Gets data source description.
+ *
+ * @return Description for data source.
+ */
+ public String getDataSourceInfo() {
return dataSrc.toString();
}
- /** {@inheritDoc} */
- @Override public String getUser() {
+ /**
+ * Gets checkpoint jdbc user name.
+ *
+ * @return User name for checkpoint jdbc.
+ */
+ public String getUser() {
return user;
}
- /** {@inheritDoc} */
- @Override public String getPwd() {
+ /**
+ * Gets checkpoint jdbc password.
+ *
+ * @return Password for checkpoint jdbc.
+ */
+ public String getPwd() {
return pwd;
}
- /** {@inheritDoc} */
- @Override public String getCheckpointTableName() {
+ /**
+ * Gets checkpoint table name.
+ *
+ * @return Checkpoint table name.
+ */
+ public String getCheckpointTableName() {
return tblName;
}
- /** {@inheritDoc} */
- @Override public String getKeyFieldName() {
+ /**
+ * Gets key field name for checkpoint table.
+ *
+ * @return Key field name for checkpoint table.
+ */
+ public String getKeyFieldName() {
return keyName;
}
- /** {@inheritDoc} */
- @Override public String getKeyFieldType() {
+ /**
+ * Gets key field type for checkpoint table.
+ *
+ * @return Key field type for checkpoint table.
+ */
+ public String getKeyFieldType() {
return keyType;
}
- /** {@inheritDoc} */
- @Override public String getValueFieldName() {
+ /**
+ * Gets value field name for checkpoint table.
+ *
+ * @return Value field name for checkpoint table.
+ */
+ public String getValueFieldName() {
return valName;
}
- /** {@inheritDoc} */
- @Override public String getValueFieldType() {
+ /**
+ * Gets value field type for checkpoint table.
+ *
+ * @return Value field type for checkpoint table.
+ */
+ public String getValueFieldType() {
return valType;
}
- /** {@inheritDoc} */
- @Override public String getExpireDateFieldName() {
+ /**
+ * Gets expiration date field name for checkpoint table.
+ *
+ * @return Create date field name for checkpoint table.
+ */
+ public String getExpireDateFieldName() {
return expDateName;
}
- /** {@inheritDoc} */
- @Override public String getExpireDateFieldType() {
+ /**
+ * Gets expiration date field type for checkpoint table.
+ *
+ * @return Expiration date field type for checkpoint table.
+ */
+ public String getExpireDateFieldType() {
return expDateType;
}
@@ -306,10 +351,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* this SPI from Spring configuration file. Refer to {@code Apache DBCP} project for more information.
*
* @param dataSrc DataSource object to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setDataSource(DataSource dataSrc) {
+ public JdbcCheckpointSpi setDataSource(DataSource dataSrc) {
this.dataSrc = dataSrc;
+
+ return this;
}
/**
@@ -317,10 +365,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* the value is {@link #DFLT_NUMBER_OF_RETRIES}.
*
* @param retryNum Number of retries in case of any database errors.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setNumberOfRetries(int retryNum) {
+ public JdbcCheckpointSpi setNumberOfRetries(int retryNum) {
this.retryNum = retryNum;
+
+ return this;
}
/**
@@ -329,10 +380,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
*
* @param user Checkpoint database user name to set.
* @see #setPwd(String)
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setUser(String user) {
+ public JdbcCheckpointSpi setUser(String user) {
this.user = user;
+
+ return this;
}
/**
@@ -341,20 +395,26 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
*
* @param pwd Checkpoint database password to set.
* @see #setUser(String)
+ ** @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setPwd(String pwd) {
+ public JdbcCheckpointSpi setPwd(String pwd) {
this.pwd = pwd;
+
+ return this;
}
/**
* Sets checkpoint table name. By default {@link #DFLT_CHECKPOINT_TABLE_NAME} is used.
*
* @param tblName Checkpoint table name to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setCheckpointTableName(String tblName) {
+ public JdbcCheckpointSpi setCheckpointTableName(String tblName) {
this.tblName = tblName;
+
+ return this;
}
/**
@@ -363,10 +423,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* change key field type (see {@link #setKeyFieldType(String)}).
*
* @param keyName Checkpoint key field name to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setKeyFieldName(String keyName) {
+ public JdbcCheckpointSpi setKeyFieldName(String keyName) {
this.keyName = keyName;
+
+ return this;
}
/**
@@ -375,10 +438,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* By default {@link #DFLT_EXPIRE_DATE_FIELD_TYPE} is used.
*
* @param keyType Checkpoint key field type to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setKeyFieldType(String keyType) {
+ public JdbcCheckpointSpi setKeyFieldType(String keyType) {
this.keyType = keyType;
+
+ return this;
}
/**
@@ -387,10 +453,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* (see {@link #setValueFieldType(String)}).
*
* @param valName Checkpoint value field name to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setValueFieldName(String valName) {
+ public JdbcCheckpointSpi setValueFieldName(String valName) {
this.valName = valName;
+
+ return this;
}
/**
@@ -400,10 +469,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* then the type should be {@code longvarbinary}.
*
* @param valType Checkpoint value field type to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setValueFieldType(String valType) {
+ public JdbcCheckpointSpi setValueFieldType(String valType) {
this.valType = valType;
+
+ return this;
}
/**
@@ -413,10 +485,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* (see {@link #setExpireDateFieldType(String)}).
*
* @param expDateName Checkpoint expiration date field name to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setExpireDateFieldName(String expDateName) {
+ public JdbcCheckpointSpi setExpireDateFieldName(String expDateName) {
this.expDateName = expDateName;
+
+ return this;
}
/**
@@ -425,10 +500,13 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
* corresponding SQL {@code DATETIME} type.
*
* @param expDateType Checkpoint expiration date field type to set.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setExpireDateFieldType(String expDateType) {
+ public JdbcCheckpointSpi setExpireDateFieldType(String expDateType) {
this.expDateType = expDateType;
+
+ return this;
}
/**
@@ -880,4 +958,77 @@ public class JdbcCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
@Override public void setCheckpointListener(CheckpointListener lsnr) {
this.lsnr = lsnr;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public JdbcCheckpointSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /**
+ * MBean implementation for JdbcCheckpointSpi.
+ */
+ private class JdbcCheckpointSpiMBeanImpl extends IgniteSpiMBeanAdapter implements JdbcCheckpointSpiMBean {
+ /** {@inheritDoc} */
+ JdbcCheckpointSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getNumberOfRetries() {
+ return JdbcCheckpointSpi.this.getNumberOfRetries();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getDataSourceInfo() {
+ return JdbcCheckpointSpi.this.getDataSourceInfo();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getUser() {
+ return JdbcCheckpointSpi.this.getUser();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getPwd() {
+ return JdbcCheckpointSpi.this.getPwd();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getCheckpointTableName() {
+ return JdbcCheckpointSpi.this.getCheckpointTableName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getKeyFieldName() {
+ return JdbcCheckpointSpi.this.getKeyFieldName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getKeyFieldType() {
+ return JdbcCheckpointSpi.this.getKeyFieldType();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getValueFieldName() {
+ return JdbcCheckpointSpi.this.getValueFieldName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getValueFieldType() {
+ return JdbcCheckpointSpi.this.getValueFieldType();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getExpireDateFieldName() {
+ return JdbcCheckpointSpi.this.getExpireDateFieldName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getExpireDateFieldType() {
+ return JdbcCheckpointSpi.this.getExpireDateFieldType();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 c3ac202..d0bf2d5 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
@@ -71,6 +71,13 @@ public class NoopCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi
}
/** {@inheritDoc} */
+ @Override public NoopCheckpointSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(NoopCheckpointSpi.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.java
index 1917d38..29a7ec1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.java
@@ -42,6 +42,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
import org.apache.ignite.spi.checkpoint.CheckpointSpi;
@@ -118,8 +119,7 @@ import org.jetbrains.annotations.Nullable;
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = false)
-public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
- SharedFsCheckpointSpiMBean {
+public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi {
/**
* 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
@@ -177,13 +177,21 @@ public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements Checkpoin
dirPaths.offer(DFLT_DIR_PATH);
}
- /** {@inheritDoc} */
- @Override public Collection<String> getDirectoryPaths() {
+ /**
+ * Gets collection of all configured paths where checkpoints can be saved.
+ *
+ * @return Collection of all configured paths.
+ */
+ public Collection<String> getDirectoryPaths() {
return dirPaths;
}
- /** {@inheritDoc} */
- @Override public String getCurrentDirectoryPath() {
+ /**
+ * Gets path to the directory where all checkpoints are saved.
+ *
+ * @return Path to the checkpoints directory.
+ */
+ public String getCurrentDirectoryPath() {
return curDirPath;
}
@@ -196,13 +204,16 @@ public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements Checkpoin
*
* @param dirPaths Absolute or Ignite installation home folder relative path where checkpoints
* will be stored.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setDirectoryPaths(Collection<String> dirPaths) {
+ public SharedFsCheckpointSpi setDirectoryPaths(Collection<String> dirPaths) {
A.ensure(!F.isEmpty(dirPaths), "!F.isEmpty(dirPaths)");
this.dirPaths.clear();
this.dirPaths.addAll(dirPaths);
+
+ return this;
}
/** {@inheritDoc} */
@@ -227,7 +238,7 @@ public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements Checkpoin
if (!folder.isDirectory())
throw new IgniteSpiException("Checkpoint directory path is not a valid directory: " + curDirPath);
- registerMBean(igniteInstanceName, this, SharedFsCheckpointSpiMBean.class);
+ registerMBean(igniteInstanceName, new SharedFsCheckpointSpiMBeanImpl(this), SharedFsCheckpointSpiMBean.class);
// Ack parameters.
if (log.isDebugEnabled()) {
@@ -506,7 +517,34 @@ public class SharedFsCheckpointSpi extends IgniteSpiAdapter implements Checkpoin
}
/** {@inheritDoc} */
+ @Override public SharedFsCheckpointSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(SharedFsCheckpointSpi.class, this);
}
+
+ /**
+ * MBean implementation for SharedFsCheckpointSpi.
+ */
+ private class SharedFsCheckpointSpiMBeanImpl extends IgniteSpiMBeanAdapter implements SharedFsCheckpointSpiMBean {
+ /** {@inheritDoc} */
+ SharedFsCheckpointSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<String> getDirectoryPaths() {
+ return SharedFsCheckpointSpi.this.getDirectoryPaths();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getCurrentDirectoryPath() {
+ return SharedFsCheckpointSpi.this.getCurrentDirectoryPath();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.java
index d94b453..703e90e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.java
@@ -26,6 +26,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.collision.CollisionContext;
import org.apache.ignite.spi.collision.CollisionExternalListener;
@@ -78,8 +79,7 @@ import org.apache.ignite.spi.collision.CollisionSpi;
* </pre>
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class FifoQueueCollisionSpi extends IgniteSpiAdapter implements CollisionSpi,
- FifoQueueCollisionSpiMBean {
+public class FifoQueueCollisionSpi extends IgniteSpiAdapter implements CollisionSpi {
/**
* Default number of parallel jobs allowed (set to number of cores times 2).
*/
@@ -110,49 +110,88 @@ public class FifoQueueCollisionSpi extends IgniteSpiAdapter implements Collision
/** Number of jobs that are held. */
private volatile int heldCnt;
- /** {@inheritDoc} */
- @Override public int getParallelJobsNumber() {
+ /**
+ * See {@link #setParallelJobsNumber(int)}
+ *
+ * @return Number of jobs that can be executed in parallel.
+ */
+ public int getParallelJobsNumber() {
return parallelJobsNum;
}
- /** {@inheritDoc} */
+ /**
+ * Sets number of jobs that can be executed in parallel.
+ *
+ * @param parallelJobsNum Parallel jobs number.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setParallelJobsNumber(int parallelJobsNum) {
+ public FifoQueueCollisionSpi setParallelJobsNumber(int parallelJobsNum) {
A.ensure(parallelJobsNum > 0, "parallelJobsNum > 0");
this.parallelJobsNum = parallelJobsNum;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getWaitingJobsNumber() {
+ /**
+ * See {@link #setWaitingJobsNumber(int)}
+ *
+ * @return Maximum allowed number of waiting jobs.
+ */
+ public int getWaitingJobsNumber() {
return waitJobsNum;
}
- /** {@inheritDoc} */
+ /**
+ * Sets maximum number of jobs that are allowed to wait in waiting queue. If number
+ * of waiting jobs ever exceeds this number, excessive jobs will be rejected.
+ *
+ * @param waitJobsNum Waiting jobs number.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setWaitingJobsNumber(int waitJobsNum) {
+ public FifoQueueCollisionSpi setWaitingJobsNumber(int waitJobsNum) {
A.ensure(waitJobsNum >= 0, "waitingJobsNum >= 0");
this.waitJobsNum = waitJobsNum;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getCurrentWaitJobsNumber() {
+ /**
+ * Gets current number of jobs that wait for the execution.
+ *
+ * @return Number of jobs that wait for execution.
+ */
+ public int getCurrentWaitJobsNumber() {
return waitingCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentActiveJobsNumber() {
+ /**
+ * Gets current number of jobs that are active, i.e. {@code 'running + held'} jobs.
+ *
+ * @return Number of active jobs.
+ */
+ public int getCurrentActiveJobsNumber() {
return runningCnt + heldCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentRunningJobsNumber() {
+ /**
+ * Gets number of currently running (not {@code 'held}) jobs.
+ *
+ * @return Number of currently running (not {@code 'held}) jobs.
+ */
+ public int getCurrentRunningJobsNumber() {
return runningCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentHeldJobsNumber() {
+ /**
+ * Gets number of currently {@code 'held'} jobs.
+ *
+ * @return Number of currently {@code 'held'} jobs.
+ */
+ public int getCurrentHeldJobsNumber() {
return heldCnt;
}
@@ -168,7 +207,7 @@ public class FifoQueueCollisionSpi extends IgniteSpiAdapter implements Collision
if (log.isDebugEnabled())
log.debug(configInfo("parallelJobsNum", parallelJobsNum));
- registerMBean(igniteInstanceName, this, FifoQueueCollisionSpiMBean.class);
+ registerMBean(igniteInstanceName, new FifoQueueCollisionSpiMBeanImpl(this), FifoQueueCollisionSpiMBean.class);
// Ack start.
if (log.isDebugEnabled())
@@ -252,7 +291,64 @@ public class FifoQueueCollisionSpi extends IgniteSpiAdapter implements Collision
}
/** {@inheritDoc} */
+ @Override public FifoQueueCollisionSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(FifoQueueCollisionSpi.class, this);
}
+
+ /**
+ * MBean implementation for FifoQueueCollisionSpi.
+ */
+ private class FifoQueueCollisionSpiMBeanImpl extends IgniteSpiMBeanAdapter implements FifoQueueCollisionSpiMBean {
+ /** {@inheritDoc} */
+ FifoQueueCollisionSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getParallelJobsNumber() {
+ return FifoQueueCollisionSpi.this.getParallelJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentWaitJobsNumber() {
+ return FifoQueueCollisionSpi.this.getCurrentWaitJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentActiveJobsNumber() {
+ return FifoQueueCollisionSpi.this.getCurrentActiveJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentRunningJobsNumber() {
+ return FifoQueueCollisionSpi.this.getCurrentRunningJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentHeldJobsNumber() {
+ return FifoQueueCollisionSpi.this.getCurrentHeldJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getWaitingJobsNumber() {
+ return FifoQueueCollisionSpi.this.getWaitingJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setWaitingJobsNumber(int waitJobsNum) {
+ FifoQueueCollisionSpi.this.setWaitingJobsNumber(waitJobsNum);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setParallelJobsNumber(int parallelJobsNum) {
+ FifoQueueCollisionSpi.this.setParallelJobsNumber(parallelJobsNum);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.java
index 40d47a2..59283e0 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.java
@@ -75,7 +75,7 @@ public interface FifoQueueCollisionSpiMBean extends IgniteSpiManagementMBean {
@MXBeanDescription("Number of active jobs.")
public int getCurrentActiveJobsNumber();
- /*
+ /**
* Gets number of currently running (not {@code 'held}) jobs.
*
* @return Number of currently running (not {@code 'held}) jobs.
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
index 37db103..8a02225 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java
@@ -49,6 +49,7 @@ import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.collision.CollisionContext;
import org.apache.ignite.spi.collision.CollisionExternalListener;
@@ -185,8 +186,7 @@ import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
@SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter")
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = true)
-public class JobStealingCollisionSpi extends IgniteSpiAdapter implements CollisionSpi,
- JobStealingCollisionSpiMBean {
+public class JobStealingCollisionSpi extends IgniteSpiAdapter implements CollisionSpi {
/** Maximum number of attempts to steal job by another node (default is {@code 5}). */
public static final int DFLT_MAX_STEALING_ATTEMPTS = 5;
@@ -305,66 +305,133 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
/** */
private Comparator<CollisionJobContext> cmp;
- /** {@inheritDoc} */
+ /**
+ * Sets number of jobs that can be executed in parallel.
+ *
+ * @param activeJobsThreshold Number of jobs that can be executed in parallel.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setActiveJobsThreshold(int activeJobsThreshold) {
+ public JobStealingCollisionSpi setActiveJobsThreshold(int activeJobsThreshold) {
A.ensure(activeJobsThreshold >= 0, "activeJobsThreshold >= 0");
this.activeJobsThreshold = activeJobsThreshold;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getActiveJobsThreshold() {
+ /**
+ * See {@link #setActiveJobsThreshold(int)}.
+ *
+ * @return Number of jobs that can be executed in parallel.
+ */
+ public int getActiveJobsThreshold() {
return activeJobsThreshold;
}
- /** {@inheritDoc} */
+ /**
+ * Sets job count threshold at which this node will
+ * start stealing jobs from other nodes.
+ *
+ * @param waitJobsThreshold Job count threshold.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setWaitJobsThreshold(int waitJobsThreshold) {
+ public JobStealingCollisionSpi setWaitJobsThreshold(int waitJobsThreshold) {
A.ensure(waitJobsThreshold >= 0, "waitJobsThreshold >= 0");
this.waitJobsThreshold = waitJobsThreshold;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getWaitJobsThreshold() {
+ /**
+ * See {@link #setWaitJobsThreshold(int)}.
+ *
+ * @return Job count threshold.
+ */
+ public int getWaitJobsThreshold() {
return waitJobsThreshold;
}
- /** {@inheritDoc} */
+ /**
+ * Message expire time configuration parameter. If no response is received
+ * from a busy node to a job stealing message, then implementation will
+ * assume that message never got there, or that remote node does not have
+ * this node included into topology of any of the jobs it has.
+ *
+ * @param msgExpireTime Message expire time.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setMessageExpireTime(long msgExpireTime) {
+ public JobStealingCollisionSpi setMessageExpireTime(long msgExpireTime) {
A.ensure(msgExpireTime > 0, "messageExpireTime > 0");
this.msgExpireTime = msgExpireTime;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getMessageExpireTime() {
+ /**
+ * See {@link #setMessageExpireTime(long)}.
+ *
+ * @return Message expire time.
+ */
+ public long getMessageExpireTime() {
return msgExpireTime;
}
- /** {@inheritDoc} */
+ /**
+ * Gets flag indicating whether this node should attempt to steal jobs
+ * from other nodes. If {@code false}, then this node will steal allow
+ * jobs to be stolen from it, but won't attempt to steal any jobs from
+ * other nodes.
+ * <p>
+ * Default value is {@code true}.
+ *
+ * @param isStealingEnabled Flag indicating whether this node should attempt to steal jobs
+ * from other nodes.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setStealingEnabled(boolean isStealingEnabled) {
+ public JobStealingCollisionSpi setStealingEnabled(boolean isStealingEnabled) {
this.isStealingEnabled = isStealingEnabled;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public boolean isStealingEnabled() {
+ /**
+ * See {@link #setStealingEnabled(boolean)}.
+ *
+ * @return Flag indicating whether this node should attempt to steal jobs
+ * from other nodes.
+ */
+ public boolean isStealingEnabled() {
return isStealingEnabled;
}
- /** {@inheritDoc} */
+ /**
+ * Gets maximum number of attempts to steal job by another node.
+ * If not specified, {@link JobStealingCollisionSpi#DFLT_MAX_STEALING_ATTEMPTS}
+ * value will be used.
+ *
+ * @param maxStealingAttempts Maximum number of attempts to steal job by another node.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setMaximumStealingAttempts(int maxStealingAttempts) {
+ public JobStealingCollisionSpi setMaximumStealingAttempts(int maxStealingAttempts) {
A.ensure(maxStealingAttempts > 0, "maxStealingAttempts > 0");
this.maxStealingAttempts = maxStealingAttempts;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getMaximumStealingAttempts() {
+ /**
+ * See {@link #setMaximumStealingAttempts(int)}.
+ *
+ * @return Maximum number of attempts to steal job by another node.
+ */
+ public int getMaximumStealingAttempts() {
return maxStealingAttempts;
}
@@ -374,47 +441,80 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
* {@link org.apache.ignite.configuration.IgniteConfiguration#getUserAttributes()} methods).
*
* @param stealAttrs Node attributes to enable job stealing for.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setStealingAttributes(Map<String, ? extends Serializable> stealAttrs) {
+ public JobStealingCollisionSpi setStealingAttributes(Map<String, ? extends Serializable> stealAttrs) {
this.stealAttrs = stealAttrs;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public Map<String, ? extends Serializable> getStealingAttributes() {
+ /**
+ * {@link #setStealingAttributes(Map)}.
+ *
+ * @return Node attributes to enable job stealing for.
+ */
+ public Map<String, ? extends Serializable> getStealingAttributes() {
return stealAttrs;
}
- /** {@inheritDoc} */
- @Override public int getCurrentRunningJobsNumber() {
+ /**
+ * Gets number of currently running (not {@code 'held}) jobs.
+ *
+ * @return Number of currently running (not {@code 'held}) jobs.
+ */
+ public int getCurrentRunningJobsNumber() {
return runningNum;
}
- /** {@inheritDoc} */
- @Override public int getCurrentHeldJobsNumber() {
+ /**
+ * Gets number of currently {@code 'held'} jobs.
+ *
+ * @return Number of currently {@code 'held'} jobs.
+ */
+ public int getCurrentHeldJobsNumber() {
return heldNum;
}
- /** {@inheritDoc} */
- @Override public int getCurrentWaitJobsNumber() {
+ /**
+ * Gets current number of jobs that wait for the execution.
+ *
+ * @return Number of jobs that wait for execution.
+ */
+ public int getCurrentWaitJobsNumber() {
return waitingNum;
}
- /** {@inheritDoc} */
- @Override public int getCurrentActiveJobsNumber() {
+ /**
+ * Gets current number of jobs that are being executed.
+ *
+ * @return Number of active jobs.
+ */
+ public int getCurrentActiveJobsNumber() {
return runningNum + heldNum;
}
- /** {@inheritDoc} */
- @Override public int getTotalStolenJobsNumber() {
+ /**
+ * Gets total number of stolen jobs.
+ *
+ * @return Number of stolen jobs.
+ */
+ public int getTotalStolenJobsNumber() {
return totalStolenJobsNum.get();
}
- /** {@inheritDoc} */
- @Override public int getCurrentJobsToStealNumber() {
+ /**
+ * Gets current number of jobs to be stolen. This is outstanding
+ * requests number.
+ *
+ * @return Number of jobs to be stolen.
+ */
+ public int getCurrentJobsToStealNumber() {
return stealReqs.get();
}
+
/** {@inheritDoc} */
@Override public Map<String, Object> getNodeAttributes() throws IgniteSpiException {
HashMap<String, Object> res = new HashMap<>(4);
@@ -445,7 +545,8 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
log.debug(configInfo("maxStealingAttempts", maxStealingAttempts));
}
- registerMBean(igniteInstanceName, this, JobStealingCollisionSpiMBean.class);
+ registerMBean(igniteInstanceName, new JobStealingCollisionSpiMBeanImpl(this),
+ JobStealingCollisionSpiMBean.class);
// Ack start.
if (log.isDebugEnabled())
@@ -698,7 +799,7 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
// requested to be stolen. Note, that we use lose total steal request
// counter to prevent excessive iteration over nodes under load.
for (Iterator<Entry<UUID, MessageInfo>> iter = rcvMsgMap.entrySet().iterator();
- iter.hasNext() && stealReqs.get() > 0;) {
+ iter.hasNext() && stealReqs.get() > 0;) {
Entry<UUID, MessageInfo> entry = iter.next();
UUID nodeId = entry.getKey();
@@ -998,6 +1099,13 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
}
/** {@inheritDoc} */
+ @Override public JobStealingCollisionSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(JobStealingCollisionSpi.class, this);
}
@@ -1047,4 +1155,99 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi
}
}
+ /**
+ * MBean implementation for JobStealingCollisionSpi.
+ */
+ private class JobStealingCollisionSpiMBeanImpl extends IgniteSpiMBeanAdapter
+ implements JobStealingCollisionSpiMBean {
+ /** {@inheritDoc} */
+ JobStealingCollisionSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<String, ? extends Serializable> getStealingAttributes() {
+ return JobStealingCollisionSpi.this.getStealingAttributes();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentRunningJobsNumber() {
+ return JobStealingCollisionSpi.this.getCurrentRunningJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentHeldJobsNumber() {
+ return JobStealingCollisionSpi.this.getCurrentHeldJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentWaitJobsNumber() {
+ return JobStealingCollisionSpi.this.getCurrentWaitJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentActiveJobsNumber() {
+ return JobStealingCollisionSpi.this.getCurrentActiveJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalStolenJobsNumber() {
+ return JobStealingCollisionSpi.this.getTotalStolenJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentJobsToStealNumber() {
+ return JobStealingCollisionSpi.this.getCurrentJobsToStealNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setActiveJobsThreshold(int activeJobsThreshold) {
+ JobStealingCollisionSpi.this.setActiveJobsThreshold(activeJobsThreshold);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getActiveJobsThreshold() {
+ return JobStealingCollisionSpi.this.getActiveJobsThreshold();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setWaitJobsThreshold(int waitJobsThreshold) {
+ JobStealingCollisionSpi.this.setWaitJobsThreshold(waitJobsThreshold);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getWaitJobsThreshold() {
+ return JobStealingCollisionSpi.this.getWaitJobsThreshold();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMessageExpireTime(long msgExpireTime) {
+ JobStealingCollisionSpi.this.setMessageExpireTime(msgExpireTime);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMessageExpireTime() {
+ return JobStealingCollisionSpi.this.getMessageExpireTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setStealingEnabled(boolean isStealingEnabled) {
+ JobStealingCollisionSpi.this.setStealingEnabled(isStealingEnabled);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isStealingEnabled() {
+ return JobStealingCollisionSpi.this.isStealingEnabled();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaximumStealingAttempts(int maxStealingAttempts) {
+ JobStealingCollisionSpi.this.setMaximumStealingAttempts(maxStealingAttempts);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumStealingAttempts() {
+ return JobStealingCollisionSpi.this.getMaximumStealingAttempts();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.java
index 9c49f70..8052936 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.java
@@ -52,7 +52,7 @@ public interface JobStealingCollisionSpiMBean extends IgniteSpiManagementMBean {
@MXBeanDescription("Number of active jobs.")
public int getCurrentActiveJobsNumber();
- /*
+ /**
* Gets number of currently running (not {@code 'held}) jobs.
*
* @return Number of currently running (not {@code 'held}) jobs.
@@ -87,10 +87,10 @@ public interface JobStealingCollisionSpiMBean extends IgniteSpiManagementMBean {
/**
* Sets number of jobs that can be executed in parallel.
*
- * @param activeJobsTreshold Number of jobs that can be executed in parallel.
+ * @param activeJobsThreshold Number of jobs that can be executed in parallel.
*/
@MXBeanDescription("Number of jobs that can be executed in parallel.")
- public void setActiveJobsThreshold(int activeJobsTreshold);
+ public void setActiveJobsThreshold(int activeJobsThreshold);
/**
* Gets job count threshold at which this node will
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 8b75220..67a47a4 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
@@ -59,6 +59,13 @@ public class NoopCollisionSpi extends IgniteSpiAdapter implements CollisionSpi {
}
/** {@inheritDoc} */
+ @Override public NoopCollisionSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(NoopCollisionSpi.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.java
index 9a6eb0e..47e81dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.java
@@ -37,6 +37,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.collision.CollisionContext;
import org.apache.ignite.spi.collision.CollisionExternalListener;
@@ -174,8 +175,7 @@ import org.apache.ignite.spi.collision.CollisionSpi;
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = true)
-public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements CollisionSpi,
- PriorityQueueCollisionSpiMBean {
+public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements CollisionSpi {
/**
* Default number of parallel jobs allowed (set to number of cores times 2).
*/
@@ -245,49 +245,89 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
@LoggerResource
private IgniteLogger log;
- /** {@inheritDoc} */
- @Override public int getParallelJobsNumber() {
+ /**
+ * Gets number of jobs that can be executed in parallel.
+ *
+ * @return Number of jobs that can be executed in parallel.
+ */
+ public int getParallelJobsNumber() {
return parallelJobsNum;
}
- /** {@inheritDoc} */
+ /**
+ * Sets number of jobs that can be executed in parallel.
+ *
+ * @param parallelJobsNum Parallel jobs number.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setParallelJobsNumber(int parallelJobsNum) {
+ public PriorityQueueCollisionSpi setParallelJobsNumber(int parallelJobsNum) {
A.ensure(parallelJobsNum > 0, "parallelJobsNum > 0");
this.parallelJobsNum = parallelJobsNum;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getWaitingJobsNumber() {
+ /**
+ * Maximum number of jobs that are allowed to wait in waiting queue. If number
+ * of waiting jobs ever exceeds this number, excessive jobs will be rejected.
+ *
+ * @return Maximum allowed number of waiting jobs.
+ */
+ public int getWaitingJobsNumber() {
return waitJobsNum;
}
- /** {@inheritDoc} */
+ /**
+ * Maximum number of jobs that are allowed to wait in waiting queue. If number
+ * of waiting jobs ever exceeds this number, excessive jobs will be rejected.
+ *
+ * @param waitJobsNum Maximium jobs number.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setWaitingJobsNumber(int waitJobsNum) {
+ public PriorityQueueCollisionSpi setWaitingJobsNumber(int waitJobsNum) {
A.ensure(waitJobsNum >= 0, "waitJobsNum >= 0");
this.waitJobsNum = waitJobsNum;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getCurrentWaitJobsNumber() {
+ /**
+ * Gets current number of jobs that wait for the execution.
+ *
+ * @return Number of jobs that wait for execution.
+ */
+ public int getCurrentWaitJobsNumber() {
return waitingCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentActiveJobsNumber() {
+ /**
+ * Gets current number of jobs that are active, i.e. {@code 'running + held'} jobs.
+ *
+ * @return Number of active jobs.
+ */
+ public int getCurrentActiveJobsNumber() {
return runningCnt + heldCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentRunningJobsNumber() {
+ /*
+ * Gets number of currently running (not {@code 'held}) jobs.
+ *
+ * @return Number of currently running (not {@code 'held}) jobs.
+ */
+ public int getCurrentRunningJobsNumber() {
return runningCnt;
}
- /** {@inheritDoc} */
- @Override public int getCurrentHeldJobsNumber() {
+ /**
+ * Gets number of currently {@code 'held'} jobs.
+ *
+ * @return Number of currently {@code 'held'} jobs.
+ */
+ public int getCurrentHeldJobsNumber() {
return heldCnt;
}
@@ -298,10 +338,13 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
* If not provided, default value is {@code {@link #DFLT_PRIORITY_ATTRIBUTE_KEY}}.
*
* @param taskPriAttrKey Priority session attribute key.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setPriorityAttributeKey(String taskPriAttrKey) {
+ public PriorityQueueCollisionSpi setPriorityAttributeKey(String taskPriAttrKey) {
this.taskPriAttrKey = taskPriAttrKey;
+
+ return this;
}
/**
@@ -311,53 +354,102 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
* If not provided, default value is {@code {@link #DFLT_JOB_PRIORITY_ATTRIBUTE_KEY}}.
*
* @param jobPriAttrKey Job priority attribute key.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setJobPriorityAttributeKey(String jobPriAttrKey) {
+ public PriorityQueueCollisionSpi setJobPriorityAttributeKey(String jobPriAttrKey) {
this.jobPriAttrKey = jobPriAttrKey;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public String getPriorityAttributeKey() {
+ /**
+ * Gets key name of task priority attribute.
+ *
+ * @return Key name of task priority attribute.
+ */
+ public String getPriorityAttributeKey() {
return taskPriAttrKey;
}
- /** {@inheritDoc} */
- @Override public String getJobPriorityAttributeKey() {
+ /**
+ * Gets key name of job priority attribute.
+ *
+ * @return Key name of job priority attribute.
+ */
+ public String getJobPriorityAttributeKey() {
return jobPriAttrKey;
}
- /** {@inheritDoc} */
- @Override public int getDefaultPriority() {
+ /**
+ * Gets default priority to use if a job does not have priority attribute
+ * set.
+ *
+ * @return Default priority to use if a task does not have priority
+ * attribute set.
+ */
+ public int getDefaultPriority() {
return dfltPri;
}
- /** {@inheritDoc} */
+ /**
+ * Sets default priority to use if a job does not have priority attribute set.
+ *
+ * @param priority default priority.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setDefaultPriority(int dfltPri) {
- this.dfltPri = dfltPri;
+ public PriorityQueueCollisionSpi setDefaultPriority(int priority) {
+ this.dfltPri = priority;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getStarvationIncrement() {
+ /**
+ * Gets value to increment job priority by every time a lower priority job gets
+ * behind a higher priority job.
+ *
+ * @return Value to increment job priority by every time a lower priority job gets
+ * behind a higher priority job.
+ */
+ public int getStarvationIncrement() {
return starvationInc;
}
- /** {@inheritDoc} */
+ /**
+ * Sets value to increment job priority by every time a lower priority job gets
+ * behind a higher priority job.
+ *
+ * @param starvationInc Increment value.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setStarvationIncrement(int starvationInc) {
+ public PriorityQueueCollisionSpi setStarvationIncrement(int starvationInc) {
this.starvationInc = starvationInc;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public boolean isStarvationPreventionEnabled() {
+ /**
+ * Gets flag indicating whether job starvation prevention is enabled.
+ *
+ * @return Flag indicating whether job starvation prevention is enabled.
+ */
+ public boolean isStarvationPreventionEnabled() {
return preventStarvation;
}
- /** {@inheritDoc} */
+ /**
+ * Sets flag indicating whether job starvation prevention is enabled.
+ *
+ * @param preventStarvation Flag indicating whether job starvation prevention is enabled.
+ * @return {@code this} for chaining.
+ */
@IgniteSpiConfiguration(optional = true)
- @Override public void setStarvationPreventionEnabled(boolean preventStarvation) {
+ public PriorityQueueCollisionSpi setStarvationPreventionEnabled(boolean preventStarvation) {
this.preventStarvation = preventStarvation;
+
+ return this;
}
/** {@inheritDoc} */
@@ -386,7 +478,8 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
log.debug(configInfo("preventStarvation", preventStarvation));
}
- registerMBean(igniteInstanceName, this, PriorityQueueCollisionSpiMBean.class);
+ registerMBean(igniteInstanceName, new PriorityQueueCollisionSpiMBeanImpl(this),
+ PriorityQueueCollisionSpiMBean.class);
// Ack start.
if (log.isDebugEnabled())
@@ -563,11 +656,6 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
return Collections.singletonList(createSpiAttributeName(PRIORITY_ATTRIBUTE_KEY));
}
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(PriorityQueueCollisionSpi.class, this);
- }
-
/**
* Returns (possibly shared) comparator fo sorting GridCollisionJobContextWrapper
* by priority.
@@ -581,6 +669,18 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
return priComp;
}
+ /** {@inheritDoc} */
+ @Override public PriorityQueueCollisionSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(PriorityQueueCollisionSpi.class, this);
+ }
+
/**
* Comparator for by priority comparison of collision contexts.
*/
@@ -630,4 +730,96 @@ public class PriorityQueueCollisionSpi extends IgniteSpiAdapter implements Colli
return originalIdx;
}
}
+
+ /**
+ * MBean implementation for PriorityQueueCollisionSpi.
+ */
+ private class PriorityQueueCollisionSpiMBeanImpl extends IgniteSpiMBeanAdapter
+ implements PriorityQueueCollisionSpiMBean {
+ /** {@inheritDoc} */
+ PriorityQueueCollisionSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getParallelJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getParallelJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @IgniteSpiConfiguration(optional = true)
+ @Override public void setParallelJobsNumber(int parallelJobsNum) {
+ PriorityQueueCollisionSpi.this.setParallelJobsNumber(parallelJobsNum);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getWaitingJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getWaitingJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setWaitingJobsNumber(int waitJobsNum) {
+ PriorityQueueCollisionSpi.this.setWaitingJobsNumber(waitJobsNum);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getPriorityAttributeKey() {
+ return PriorityQueueCollisionSpi.this.getPriorityAttributeKey();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getJobPriorityAttributeKey() {
+ return PriorityQueueCollisionSpi.this.getJobPriorityAttributeKey();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getDefaultPriority() {
+ return PriorityQueueCollisionSpi.this.getDefaultPriority();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setDefaultPriority(int dfltPri) {
+ PriorityQueueCollisionSpi.this.setDefaultPriority(dfltPri);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getStarvationIncrement() {
+ return PriorityQueueCollisionSpi.this.getStarvationIncrement();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setStarvationIncrement(int starvationInc) {
+ PriorityQueueCollisionSpi.this.setStarvationIncrement(starvationInc);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isStarvationPreventionEnabled() {
+ return PriorityQueueCollisionSpi.this.isStarvationPreventionEnabled();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setStarvationPreventionEnabled(boolean preventStarvation) {
+ PriorityQueueCollisionSpi.this.setStarvationPreventionEnabled(preventStarvation);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentWaitJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getCurrentWaitJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentActiveJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getCurrentActiveJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentRunningJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getCurrentRunningJobsNumber();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentHeldJobsNumber() {
+ return PriorityQueueCollisionSpi.this.getCurrentHeldJobsNumber();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.java
index b7f8ba1..e6a8412 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.java
@@ -41,7 +41,7 @@ public interface PriorityQueueCollisionSpiMBean extends IgniteSpiManagementMBean
@MXBeanDescription("Number of active jobs.")
public int getCurrentActiveJobsNumber();
- /*
+ /**
* Gets number of currently running (not {@code 'held}) jobs.
*
* @return Number of currently running (not {@code 'held}) jobs.
[2/5] ignite git commit: IGNITE-4564: All setters on public
configuration now return "this" instance to allow convenient chaining. This
closes #1449.
Posted by vo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 42879b7..f13f1f2 100755
--- 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
@@ -106,7 +106,6 @@ import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.extensions.communication.Message;
@@ -122,6 +121,7 @@ import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
@@ -241,8 +241,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = false)
-public class TcpCommunicationSpi extends IgniteSpiAdapter
- implements CommunicationSpi<Message>, TcpCommunicationSpiMBean {
+public class TcpCommunicationSpi extends IgniteSpiAdapter implements CommunicationSpi<Message> {
/** IPC error message. */
public static final String OUT_OF_RESOURCES_TCP_MSG = "Failed to allocate shared memory segment " +
"(switching to TCP, may be slower).";
@@ -1100,12 +1099,15 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* Sets address resolver.
*
* @param addrRslvr Address resolver.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setAddressResolver(AddressResolver addrRslvr) {
+ public TcpCommunicationSpi setAddressResolver(AddressResolver addrRslvr) {
// Injection should not override value already set by Spring or user.
if (this.addrRslvr == null)
this.addrRslvr = addrRslvr;
+
+ return this;
}
/**
@@ -1130,16 +1132,23 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
*
* @param locAddr IP address. Default value is any available local
* IP address.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setLocalAddress(String locAddr) {
+ public TcpCommunicationSpi setLocalAddress(String locAddr) {
// Injection should not override value already set by Spring or user.
if (this.locAddr == null)
this.locAddr = locAddr;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public String getLocalAddress() {
+ /**
+ * See {@link #setLocalAddress(String)}.
+ *
+ * @return Grid node IP address.
+ */
+ public String getLocalAddress() {
return locAddr;
}
@@ -1149,14 +1158,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_PORT}.
*
* @param locPort Port number.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setLocalPort(int locPort) {
+ public TcpCommunicationSpi setLocalPort(int locPort) {
this.locPort = locPort;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getLocalPort() {
+ /**
+ * See {@link #setLocalPort(int)}.
+ *
+ * @return Port number.
+ */
+ public int getLocalPort() {
return locPort;
}
@@ -1175,19 +1191,30 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_PORT_RANGE}.
*
* @param locPortRange New local port range.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setLocalPortRange(int locPortRange) {
+ public TcpCommunicationSpi setLocalPortRange(int locPortRange) {
this.locPortRange = locPortRange;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getLocalPortRange() {
+ /**
+ * See {@link #setLocalPortRange(int)}.
+ *
+ * @return Local Port range.
+ */
+ public int getLocalPortRange() {
return locPortRange;
}
- /** {@inheritDoc} */
- @Override public boolean isUsePairedConnections() {
+ /**
+ * See {@link #setUsePairedConnections(boolean)}.
+ *
+ * @return {@code true} to use paired connections and {@code false} otherwise.
+ */
+ public boolean isUsePairedConnections() {
return usePairedConnections;
}
@@ -1205,9 +1232,12 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
*
* @param usePairedConnections {@code true} to use paired connections and {@code false} otherwise.
* @see #getConnectionsPerNode()
+ * @return {@code this} for chaining.
*/
- public void setUsePairedConnections(boolean usePairedConnections) {
+ public TcpCommunicationSpi setUsePairedConnections(boolean usePairedConnections) {
this.usePairedConnections = usePairedConnections;
+
+ return this;
}
/**
@@ -1217,13 +1247,20 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
*
* @param maxConnectionsPerNode Number of connections per node.
* @see #isUsePairedConnections()
+ * @return {@code this} for chaining.
*/
- public void setConnectionsPerNode(int maxConnectionsPerNode) {
+ public TcpCommunicationSpi setConnectionsPerNode(int maxConnectionsPerNode) {
this.connectionsPerNode = maxConnectionsPerNode;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getConnectionsPerNode() {
+ /**
+ * See {@link #setConnectionsPerNode(int)}.
+ *
+ * @return Number of connections per node.
+ */
+ public int getConnectionsPerNode() {
return connectionsPerNode;
}
@@ -1235,14 +1272,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_SHMEM_PORT}.
*
* @param shmemPort Port number.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setSharedMemoryPort(int shmemPort) {
+ public TcpCommunicationSpi setSharedMemoryPort(int shmemPort) {
this.shmemPort = shmemPort;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getSharedMemoryPort() {
+ /**
+ * See {@link #setSharedMemoryPort(int)}.
+ *
+ * @return Port number.
+ */
+ public int getSharedMemoryPort() {
return shmemPort;
}
@@ -1253,19 +1297,30 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_IDLE_CONN_TIMEOUT}.
*
* @param idleConnTimeout Maximum idle connection time.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setIdleConnectionTimeout(long idleConnTimeout) {
+ public TcpCommunicationSpi setIdleConnectionTimeout(long idleConnTimeout) {
this.idleConnTimeout = idleConnTimeout;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getIdleConnectionTimeout() {
+ /**
+ * See {@link #setIdleConnectionTimeout(long)}.
+ *
+ * @return Maximum idle connection time.
+ */
+ public long getIdleConnectionTimeout() {
return idleConnTimeout;
}
- /** {@inheritDoc} */
- @Override public long getSocketWriteTimeout() {
+ /**
+ * See {@link #setSocketWriteTimeout(long)}.
+ *
+ * @return Socket write timeout for TCP connections.
+ */
+ public long getSocketWriteTimeout() {
return sockWriteTimeout;
}
@@ -1276,14 +1331,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* Default to {@link #DFLT_SOCK_WRITE_TIMEOUT}.
*
* @param sockWriteTimeout Socket write timeout for TCP connection.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setSocketWriteTimeout(long sockWriteTimeout) {
+ public TcpCommunicationSpi setSocketWriteTimeout(long sockWriteTimeout) {
this.sockWriteTimeout = sockWriteTimeout;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getAckSendThreshold() {
+ /**
+ * See {@link #setAckSendThreshold(int)}.
+ *
+ * @return Number of received messages after which acknowledgment is sent.
+ */
+ public int getAckSendThreshold() {
return ackSndThreshold;
}
@@ -1293,14 +1355,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* Default to {@link #DFLT_ACK_SND_THRESHOLD}.
*
* @param ackSndThreshold Number of received messages after which acknowledgment is sent.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setAckSendThreshold(int ackSndThreshold) {
+ public TcpCommunicationSpi setAckSendThreshold(int ackSndThreshold) {
this.ackSndThreshold = ackSndThreshold;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getUnacknowledgedMessagesBufferSize() {
+ /**
+ * See {@link #setUnacknowledgedMessagesBufferSize(int)}.
+ *
+ * @return Maximum number of unacknowledged messages.
+ */
+ public int getUnacknowledgedMessagesBufferSize() {
return unackedMsgsBufSize;
}
@@ -1310,17 +1379,19 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* closed and reconnect is attempted.
*
* @param unackedMsgsBufSize Maximum number of unacknowledged messages.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setUnacknowledgedMessagesBufferSize(int unackedMsgsBufSize) {
+ public TcpCommunicationSpi setUnacknowledgedMessagesBufferSize(int unackedMsgsBufSize) {
this.unackedMsgsBufSize = unackedMsgsBufSize;
+
+ return this;
}
/**
* Sets connection buffer size. If set to {@code 0} connection buffer is disabled.
*
* @param connBufSize Connection buffer size.
- * @see #setConnectionBufferFlushFrequency(long)
* @deprecated Not used any more.
*/
@Deprecated
@@ -1329,22 +1400,48 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
// No-op.
}
- /** {@inheritDoc} */
+ /**
+ * Gets connection buffer size.
+ * <p>
+ * If set to {@code 0} connection buffer is disabled.
+ *
+ * @return Connection buffer size.
+ * @deprecated Not used anymore.
+ */
@Deprecated
- @Override public int getConnectionBufferSize() {
+ public int getConnectionBufferSize() {
return 0;
}
- /** {@inheritDoc} */
+ /**
+ * Sets connection buffer flush frequency.
+ * <p>
+ * Client connections to other nodes in topology use buffered output.
+ * This frequency defines how often system will advice to flush
+ * connection buffer.
+ * <p>
+ * This property is used only if {@link #getConnectionBufferSize()} is greater than {@code 0}.
+ *
+ * @param connBufFlushFreq Flush frequency.
+ * @see #getConnectionBufferSize()
+ * @deprecated Not used anymore.
+ */
@Deprecated
@IgniteSpiConfiguration(optional = true)
- @Override public void setConnectionBufferFlushFrequency(long connBufFlushFreq) {
+ public void setConnectionBufferFlushFrequency(long connBufFlushFreq) {
// No-op.
}
- /** {@inheritDoc} */
+ /**
+ * Gets connection buffer size.
+ * <p>
+ * If set to {@code 0} connection buffer is disabled.
+ *
+ * @return Connection buffer size.
+ * @deprecated Not used anymore.
+ */
@Deprecated
- @Override public long getConnectionBufferFlushFrequency() {
+ public long getConnectionBufferFlushFrequency() {
return 0;
}
@@ -1359,16 +1456,22 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* When this property is explicitly set {@link IgniteConfiguration#getFailureDetectionTimeout()} is ignored.
*
* @param connTimeout Connect timeout.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setConnectTimeout(long connTimeout) {
+ public TcpCommunicationSpi setConnectTimeout(long connTimeout) {
this.connTimeout = connTimeout;
failureDetectionTimeoutEnabled(false);
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getConnectTimeout() {
+ /**
+ * See {@link #setConnectTimeout(long)}.
+ *
+ * @return Connect timeout.
+ */public long getConnectTimeout() {
return connTimeout;
}
@@ -1385,16 +1488,23 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* When this property is explicitly set {@link IgniteConfiguration#getFailureDetectionTimeout()} is ignored.
*
* @param maxConnTimeout Maximum connect timeout.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMaxConnectTimeout(long maxConnTimeout) {
+ public TcpCommunicationSpi setMaxConnectTimeout(long maxConnTimeout) {
this.maxConnTimeout = maxConnTimeout;
failureDetectionTimeoutEnabled(false);
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getMaxConnectTimeout() {
+ /**
+ * Gets maximum connect timeout.
+ *
+ * @return Maximum connect timeout.
+ */
+ public long getMaxConnectTimeout() {
return maxConnTimeout;
}
@@ -1407,16 +1517,24 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* When this property is explicitly set {@link IgniteConfiguration#getFailureDetectionTimeout()} is ignored.
*
* @param reconCnt Maximum number of reconnection attempts.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setReconnectCount(int reconCnt) {
+ public TcpCommunicationSpi setReconnectCount(int reconCnt) {
this.reconCnt = reconCnt;
failureDetectionTimeoutEnabled(false);
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getReconnectCount() {
+ /**
+ * Gets maximum number of reconnect attempts used when establishing connection
+ * with remote nodes.
+ *
+ * @return Reconnects count.
+ */
+ public int getReconnectCount() {
return reconCnt;
}
@@ -1428,32 +1546,46 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@code true}.
*
* @param directBuf Flag indicates to allocate direct or heap buffer in SPI.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setDirectBuffer(boolean directBuf) {
+ public TcpCommunicationSpi setDirectBuffer(boolean directBuf) {
this.directBuf = directBuf;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public boolean isDirectBuffer() {
+ /**
+ * Gets flag that indicates whether direct or heap allocated buffer is used.
+ *
+ * @return Flag that indicates whether direct or heap allocated buffer is used.
+ */
+ public boolean isDirectBuffer() {
return directBuf;
}
- /** {@inheritDoc} */
- @Override public boolean isDirectSendBuffer() {
+ /**
+ * Gets flag defining whether direct send buffer should be used.
+ *
+ * @return {@code True} if direct buffers should be used.
+ */
+ public boolean isDirectSendBuffer() {
return directSndBuf;
}
/**
* Sets whether to use direct buffer for sending.
- * <p>
+ *
* If not provided default is {@code false}.
*
* @param directSndBuf {@code True} to use direct buffers for send.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setDirectSendBuffer(boolean directSndBuf) {
+ public TcpCommunicationSpi setDirectSendBuffer(boolean directSndBuf) {
this.directSndBuf = directSndBuf;
+
+ return this;
}
/**
@@ -1462,19 +1594,30 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_SELECTORS_CNT}.
*
* @param selectorsCnt Selectors count.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setSelectorsCount(int selectorsCnt) {
+ public TcpCommunicationSpi setSelectorsCount(int selectorsCnt) {
this.selectorsCnt = selectorsCnt;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getSelectorsCount() {
+ /**
+ * See {@link #setSelectorsCount(int)}.
+ *
+ * @return Count of selectors in TCP server.
+ */
+ public int getSelectorsCount() {
return selectorsCnt;
}
- /** {@inheritDoc} */
- @Override public long getSelectorSpins() {
+ /**
+ * See {@link #setSelectorSpins(long)}.
+ *
+ * @return Selector thread busy-loop iterations.
+ */
+ public long getSelectorSpins() {
return selectorSpins;
}
@@ -1484,9 +1627,12 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* Can be set to {@code Long.MAX_VALUE} so selector threads will never block.
*
* @param selectorSpins Selector thread busy-loop iterations.
+ * @return {@code this} for chaining.
*/
- public void setSelectorSpins(long selectorSpins) {
+ public TcpCommunicationSpi setSelectorSpins(long selectorSpins) {
this.selectorSpins = selectorSpins;
+
+ return this;
}
/**
@@ -1502,14 +1648,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default value is {@link #DFLT_TCP_NODELAY}.
*
* @param tcpNoDelay {@code True} to disable TCP delay.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setTcpNoDelay(boolean tcpNoDelay) {
+ public TcpCommunicationSpi setTcpNoDelay(boolean tcpNoDelay) {
this.tcpNoDelay = tcpNoDelay;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public boolean isTcpNoDelay() {
+ /**
+ * Gets value for {@code TCP_NODELAY} socket option.
+ *
+ * @return {@code True} if TCP delay is disabled.
+ */
+ public boolean isTcpNoDelay() {
return tcpNoDelay;
}
@@ -1519,14 +1672,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default is {@link #DFLT_SOCK_BUF_SIZE}.
*
* @param sockRcvBuf Socket receive buffer size.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setSocketReceiveBuffer(int sockRcvBuf) {
+ public TcpCommunicationSpi setSocketReceiveBuffer(int sockRcvBuf) {
this.sockRcvBuf = sockRcvBuf;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getSocketReceiveBuffer() {
+ /**
+ * See {@link #setSocketReceiveBuffer(int)}.
+ *
+ * @return Socket receive buffer size.
+ */
+ public int getSocketReceiveBuffer() {
return sockRcvBuf;
}
@@ -1536,14 +1696,21 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default is {@link #DFLT_SOCK_BUF_SIZE}.
*
* @param sockSndBuf Socket send buffer size.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setSocketSendBuffer(int sockSndBuf) {
+ public TcpCommunicationSpi setSocketSendBuffer(int sockSndBuf) {
this.sockSndBuf = sockSndBuf;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getSocketSendBuffer() {
+ /**
+ * See {@link #setSocketSendBuffer(int)}.
+ *
+ * @return Socket send buffer size.
+ */
+ public int getSocketSendBuffer() {
return sockSndBuf;
}
@@ -1556,19 +1723,30 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* If not provided, default is {@link #DFLT_MSG_QUEUE_LIMIT}.
*
* @param msgQueueLimit Send queue size limit.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMessageQueueLimit(int msgQueueLimit) {
+ public TcpCommunicationSpi setMessageQueueLimit(int msgQueueLimit) {
this.msgQueueLimit = msgQueueLimit;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getMessageQueueLimit() {
+ /**
+ * Gets message queue limit for incoming and outgoing messages.
+ *
+ * @return Send queue size limit.
+ */
+ public int getMessageQueueLimit() {
return msgQueueLimit;
}
- /** {@inheritDoc} */
- @Override public int getSlowClientQueueLimit() {
+ /**
+ * See {@link #setSlowClientQueueLimit(int)}.
+ *
+ * @return Slow client queue limit.
+ */
+ public int getSlowClientQueueLimit() {
return slowClientQueueLimit;
}
@@ -1583,9 +1761,12 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
* which means {@code unlimited}.
*
* @param slowClientQueueLimit Slow client queue limit.
+ * @return {@code this} for chaining.
*/
- public void setSlowClientQueueLimit(int slowClientQueueLimit) {
+ public TcpCommunicationSpi setSlowClientQueueLimit(int slowClientQueueLimit) {
this.slowClientQueueLimit = slowClientQueueLimit;
+
+ return this;
}
/**
@@ -1601,9 +1782,15 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
// No-op.
}
- /** {@inheritDoc} */
+ /**
+ * Gets the minimum number of messages for this SPI, that are buffered
+ * prior to sending.
+ *
+ * @return Minimum buffered message count.
+ * @deprecated Not used anymore.
+ */
@Deprecated
- @Override public int getMinimumBufferedMessageCount() {
+ public int getMinimumBufferedMessageCount() {
return 0;
}
@@ -1656,8 +1843,10 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
rcvdBytesCnt.add(-rcvdBytesCnt.sum());
}
- /** {@inheritDoc} */
- @Override public void dumpStats() {
+ /**
+ * Dumps SPI per-connection stats to logs.
+ */
+ public void dumpStats() {
IgniteLogger log = this.log;
if (log != null) {
@@ -1879,7 +2068,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
"potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes " +
"due to message queues growth on sender and receiver sides.");
- registerMBean(igniteInstanceName, this, TcpCommunicationSpiMBean.class);
+ registerMBean(igniteInstanceName, new TcpCommunicationSpiMBeanImpl(this), TcpCommunicationSpiMBean.class);
connectGate = new ConnectGateway();
@@ -3424,6 +3613,13 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
/** {@inheritDoc} */
+ @Override public TcpCommunicationSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpCommunicationSpi.class, this);
}
@@ -4562,4 +4758,178 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
*/
int connectionIndex();
}
+
+ /**
+ * MBean implementation for TcpCommunicationSpi.
+ */
+ private class TcpCommunicationSpiMBeanImpl extends IgniteSpiMBeanAdapter implements TcpCommunicationSpiMBean {
+ /** {@inheritDoc} */
+ TcpCommunicationSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getLocalAddress() {
+ return TcpCommunicationSpi.this.getLocalAddress();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getLocalPort() {
+ return TcpCommunicationSpi.this.getLocalPort();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getLocalPortRange() {
+ return TcpCommunicationSpi.this.getLocalPortRange();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isUsePairedConnections() {
+ return TcpCommunicationSpi.this.isUsePairedConnections();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getConnectionsPerNode() {
+ return TcpCommunicationSpi.this.getConnectionsPerNode();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSharedMemoryPort() {
+ return TcpCommunicationSpi.this.getSharedMemoryPort();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getIdleConnectionTimeout() {
+ return TcpCommunicationSpi.this.getIdleConnectionTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getSocketWriteTimeout() {
+ return TcpCommunicationSpi.this.getSocketWriteTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getAckSendThreshold() {
+ return TcpCommunicationSpi.this.getAckSendThreshold();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getUnacknowledgedMessagesBufferSize() {
+ return TcpCommunicationSpi.this.getUnacknowledgedMessagesBufferSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getConnectTimeout() {
+ return TcpCommunicationSpi.this.getConnectTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxConnectTimeout() {
+ return TcpCommunicationSpi.this.getMaxConnectTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getReconnectCount() {
+ return TcpCommunicationSpi.this.getReconnectCount();
+ }
+
+ /** {@inheritDoc} */
+ @Deprecated
+ @Override public int getConnectionBufferSize() {
+ return TcpCommunicationSpi.this.getConnectionBufferSize();
+ }
+
+ /** {@inheritDoc} */
+ @Deprecated
+ @Override public void setConnectionBufferFlushFrequency(long connBufFlushFreq) {
+ TcpCommunicationSpi.this.setConnectionBufferFlushFrequency(connBufFlushFreq);
+ }
+
+ /** {@inheritDoc} */
+ @Deprecated
+ @Override public long getConnectionBufferFlushFrequency() {
+ return TcpCommunicationSpi.this.getConnectionBufferFlushFrequency();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isDirectBuffer() {
+ return TcpCommunicationSpi.this.isDirectBuffer();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isDirectSendBuffer() {
+ return TcpCommunicationSpi.this.isDirectSendBuffer();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSelectorsCount() {
+ return TcpCommunicationSpi.this.getSelectorsCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getSelectorSpins() {
+ return TcpCommunicationSpi.this.getSelectorSpins();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isTcpNoDelay() {
+ return TcpCommunicationSpi.this.isTcpNoDelay();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSocketReceiveBuffer() {
+ return TcpCommunicationSpi.this.getSocketReceiveBuffer();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSocketSendBuffer() {
+ return TcpCommunicationSpi.this.getSocketSendBuffer();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMessageQueueLimit() {
+ return TcpCommunicationSpi.this.getMessageQueueLimit();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSlowClientQueueLimit() {
+ return TcpCommunicationSpi.this.getSlowClientQueueLimit();
+ }
+
+ /** {@inheritDoc} */
+ @Deprecated
+ @Override public int getMinimumBufferedMessageCount() {
+ return TcpCommunicationSpi.this.getMinimumBufferedMessageCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void dumpStats() {
+ TcpCommunicationSpi.this.dumpStats();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSentMessagesCount() {
+ return TcpCommunicationSpi.this.getSentMessagesCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getSentBytesCount() {
+ return TcpCommunicationSpi.this.getSentBytesCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getReceivedMessagesCount() {
+ return TcpCommunicationSpi.this.getReceivedMessagesCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getReceivedBytesCount() {
+ return TcpCommunicationSpi.this.getReceivedBytesCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getOutboundMessagesQueueSize() {
+ return TcpCommunicationSpi.this.getOutboundMessagesQueueSize();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
index 66b715a..9d46737 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.java
@@ -35,6 +35,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.deployment.DeploymentListener;
import org.apache.ignite.spi.deployment.DeploymentResource;
@@ -66,7 +67,7 @@ import org.jsr166.ConcurrentLinkedHashMap;
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = false)
@IgnoreIfPeerClassLoadingDisabled
-public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi, LocalDeploymentSpiMBean {
+public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSpi {
/** */
@SuppressWarnings({"FieldAccessedSynchronizedAndUnsynchronized"})
@LoggerResource
@@ -76,7 +77,7 @@ public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSp
private ConcurrentLinkedHashMap<ClassLoader, ConcurrentMap<String, String>> ldrRsrcs =
new ConcurrentLinkedHashMap<>(16, 0.75f, 64);
- /** Deployment SPI listener. */
+ /** Deployment SPI listener. */
private volatile DeploymentListener lsnr;
/** {@inheritDoc} */
@@ -84,7 +85,7 @@ public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSp
// Start SPI start stopwatch.
startStopwatch();
- registerMBean(igniteInstanceName, this, LocalDeploymentSpiMBean.class);
+ registerMBean(igniteInstanceName, new LocalDeploymentSpiMBeanImpl(this), LocalDeploymentSpiMBean.class);
if (log.isDebugEnabled())
log.debug(startInfo());
@@ -395,7 +396,24 @@ public class LocalDeploymentSpi extends IgniteSpiAdapter implements DeploymentSp
}
/** {@inheritDoc} */
+ @Override public LocalDeploymentSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(LocalDeploymentSpi.class, this);
}
+
+ /**
+ * MBean implementation for LocalDeploymentSpi.
+ */
+ private class LocalDeploymentSpiMBeanImpl extends IgniteSpiMBeanAdapter implements LocalDeploymentSpiMBean {
+ /** {@inheritDoc} */
+ LocalDeploymentSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index e8b937a..19244dd 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -70,6 +70,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiContext;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
@@ -217,7 +218,7 @@ import org.jetbrains.annotations.Nullable;
@IgniteSpiMultipleInstancesSupport(true)
@DiscoverySpiOrderSupport(true)
@DiscoverySpiHistorySupport(true)
-public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, TcpDiscoverySpiMBean {
+public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi {
/** Node attribute that is mapped to node's external addresses (value is <tt>disc.tcp.ext-addrs</tt>). */
public static final String ATTR_EXT_ADDRS = "disc.tcp.ext-addrs";
@@ -403,18 +404,30 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
/** */
protected IgniteSpiContext spiCtx;
- /** {@inheritDoc} */
- @Override public String getSpiState() {
+ /**
+ * Gets current SPI state.
+ *
+ * @return Current SPI state.
+ */
+ public String getSpiState() {
return impl.getSpiState();
}
- /** {@inheritDoc} */
- @Override public int getMessageWorkerQueueSize() {
+ /**
+ * Gets message worker queue current size.
+ *
+ * @return Message worker queue current size.
+ */
+ public int getMessageWorkerQueueSize() {
return impl.getMessageWorkerQueueSize();
}
- /** {@inheritDoc} */
- @Nullable @Override public UUID getCoordinator() {
+ /**
+ * Gets current coordinator.
+ *
+ * @return Gets current coordinator.
+ */
+ public UUID getCoordinator() {
return impl.getCoordinator();
}
@@ -453,8 +466,10 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
impl.failNode(nodeId, warning);
}
- /** {@inheritDoc} */
- @Override public void dumpDebugInfo() {
+ /**
+ * Dumps debug info using configured logger.
+ */
+ public void dumpDebugInfo() {
impl.dumpDebugInfo(log);
}
@@ -580,8 +595,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return addrRslvr;
}
- /** {@inheritDoc} */
- @Override public int getReconnectCount() {
+ /**
+ * Gets number of connection attempts.
+ *
+ * @return Number of connection attempts.
+ */
+ public int getReconnectCount() {
return reconCnt;
}
@@ -608,8 +627,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public long getMaxAckTimeout() {
+ /**
+ * Gets maximum message acknowledgement timeout.
+ *
+ * @return Maximum message acknowledgement timeout.
+ */
+ public long getMaxAckTimeout() {
return maxAckTimeout;
}
@@ -639,8 +662,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public int getLocalPort() {
+ /**
+ * Gets local TCP port SPI listens to.
+ *
+ * @return Local port range.
+ */
+ public int getLocalPort() {
TcpDiscoveryNode locNode0 = locNode;
return locNode0 != null ? locNode0.discoveryPort() : 0;
@@ -663,8 +690,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public int getLocalPortRange() {
+ /**
+ * Gets local TCP port range.
+ *
+ * @return Local port range.
+ */
+ public int getLocalPortRange() {
return locPortRange;
}
@@ -689,8 +720,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public int getMaxMissedHeartbeats() {
+ /**
+ * Gets max heartbeats count node can miss without initiating status check.
+ *
+ * @return Max missed heartbeats.
+ */
+ public int getMaxMissedHeartbeats() {
return maxMissedHbs;
}
@@ -711,8 +746,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public int getMaxMissedClientHeartbeats() {
+ /**
+ * Gets max heartbeats count node can miss without failing client node.
+ *
+ * @return Max missed client heartbeats.
+ */
+ public int getMaxMissedClientHeartbeats() {
return maxMissedClientHbs;
}
@@ -731,8 +770,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public long getStatisticsPrintFrequency() {
+ /**
+ * Gets statistics print frequency.
+ *
+ * @return Statistics print frequency in milliseconds.
+ */
+ public long getStatisticsPrintFrequency() {
return statsPrintFreq;
}
@@ -755,8 +798,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public long getIpFinderCleanFrequency() {
+ /**
+ * Gets IP finder clean frequency.
+ *
+ * @return IP finder clean frequency.
+ */
+ public long getIpFinderCleanFrequency() {
return ipFinderCleanFreq;
}
@@ -862,8 +909,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return this;
}
- /** {@inheritDoc} */
- @Override public long getJoinTimeout() {
+ /**
+ * Gets join timeout.
+ *
+ * @return Join timeout.
+ */
+ public long getJoinTimeout() {
return joinTimeout;
}
@@ -964,6 +1015,15 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
}
/**
+ * Gets ID of the local node.
+ *
+ * @return ID of the local node.
+ */
+ public UUID getLocalNodeId() {
+ return ignite.cluster().localNode().id();
+ }
+
+ /**
* @param srvPort Server port.
* @param addExtAddrAttr If {@code true} adds {@link #ATTR_EXT_ADDRS} attribute.
*/
@@ -1061,93 +1121,164 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return F.<Object>asList(ipFinder);
}
- /** {@inheritDoc} */
- @Override public long getSocketTimeout() {
+ /**
+ * Gets socket timeout.
+ *
+ * @return Socket timeout.
+ */
+ public long getSocketTimeout() {
return sockTimeout;
}
- /** {@inheritDoc} */
- @Override public long getAckTimeout() {
+ /**
+ * Gets message acknowledgement timeout.
+ *
+ * @return Message acknowledgement timeout.
+ */
+ public long getAckTimeout() {
return ackTimeout;
}
- /** {@inheritDoc} */
- @Override public long getNetworkTimeout() {
+ /**
+ * Gets network timeout.
+ *
+ * @return Network timeout.
+ */
+ public long getNetworkTimeout() {
return netTimeout;
}
- /** {@inheritDoc} */
- @Override public int getThreadPriority() {
+ /**
+ * Gets thread priority. All threads within SPI will be started with it.
+ *
+ * @return Thread priority.
+ */
+ public int getThreadPriority() {
return threadPri;
}
- /** {@inheritDoc} */
- @Override public long getHeartbeatFrequency() {
+ /**
+ * Gets delay between heartbeat messages sent by coordinator.
+ *
+ * @return Time period in milliseconds.
+ */
+ public long getHeartbeatFrequency() {
return hbFreq;
}
- /** {@inheritDoc} */
- @Override public String getIpFinderFormatted() {
+ /**
+ * Gets {@link org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder} (string representation).
+ *
+ * @return IPFinder (string representation).
+ */public String getIpFinderFormatted() {
return ipFinder.toString();
}
- /** {@inheritDoc} */
- @Override public long getNodesJoined() {
+ /**
+ * Gets joined nodes count.
+ *
+ * @return Nodes joined count.
+ */
+ public long getNodesJoined() {
return stats.joinedNodesCount();
}
- /** {@inheritDoc} */
- @Override public long getNodesLeft() {
+ /**
+ * Gets left nodes count.
+ *
+ * @return Left nodes count.
+ */
+ public long getNodesLeft() {
return stats.leftNodesCount();
}
- /** {@inheritDoc} */
- @Override public long getNodesFailed() {
+ /**
+ * Gets failed nodes count.
+ *
+ * @return Failed nodes count.
+ */
+ public long getNodesFailed() {
return stats.failedNodesCount();
}
- /** {@inheritDoc} */
- @Override public long getPendingMessagesRegistered() {
+ /**
+ * Gets pending messages registered count.
+ *
+ * @return Pending messages registered count.
+ */
+ public long getPendingMessagesRegistered() {
return stats.pendingMessagesRegistered();
}
- /** {@inheritDoc} */
- @Override public long getPendingMessagesDiscarded() {
+ /**
+ * Gets pending messages discarded count.
+ *
+ * @return Pending messages registered count.
+ */
+ public long getPendingMessagesDiscarded() {
return stats.pendingMessagesDiscarded();
}
- /** {@inheritDoc} */
- @Override public long getAvgMessageProcessingTime() {
+ /**
+ * Gets avg message processing time.
+ *
+ * @return Avg message processing time.
+ */
+ public long getAvgMessageProcessingTime() {
return stats.avgMessageProcessingTime();
}
- /** {@inheritDoc} */
- @Override public long getMaxMessageProcessingTime() {
+ /**
+ * Gets max message processing time.
+ *
+ * @return Max message processing time.
+ */
+ public long getMaxMessageProcessingTime() {
return stats.maxMessageProcessingTime();
}
- /** {@inheritDoc} */
- @Override public int getTotalReceivedMessages() {
+ /**
+ * Gets total received messages count.
+ *
+ * @return Total received messages count.
+ */
+ public int getTotalReceivedMessages() {
return stats.totalReceivedMessages();
}
- /** {@inheritDoc} */
- @Override public Map<String, Integer> getReceivedMessages() {
+ /**
+ * Gets received messages counts (grouped by type).
+ *
+ * @return Map containing message types and respective counts.
+ */
+ public Map<String, Integer> getReceivedMessages() {
return stats.receivedMessages();
}
- /** {@inheritDoc} */
- @Override public int getTotalProcessedMessages() {
+ /**
+ * Gets total processed messages count.
+ *
+ * @return Total processed messages count.
+ */
+ public int getTotalProcessedMessages() {
return stats.totalProcessedMessages();
}
- /** {@inheritDoc} */
- @Override public Map<String, Integer> getProcessedMessages() {
+ /**
+ * Gets processed messages counts (grouped by type).
+ *
+ * @return Map containing message types and respective counts.
+ */
+ public Map<String, Integer> getProcessedMessages() {
return stats.processedMessages();
}
- /** {@inheritDoc} */
- @Override public long getCoordinatorSinceTimestamp() {
+ /**
+ * Gets time local node has been coordinator since.
+ *
+ * @return Time local node is coordinator since.
+ */
+ public long getCoordinatorSinceTimestamp() {
return stats.coordinatorSinceTimestamp();
}
@@ -1815,7 +1946,7 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
if (netTimeout < 3000)
U.warn(log, "Network timeout is too low (at least 3000 ms recommended): " + netTimeout);
- registerMBean(igniteInstanceName, this, TcpDiscoverySpiMBean.class);
+ registerMBean(igniteInstanceName, new TcpDiscoverySpiMBeanImpl(this), TcpDiscoverySpiMBean.class);
if (ipFinder instanceof TcpDiscoveryMulticastIpFinder) {
TcpDiscoveryMulticastIpFinder mcastIpFinder = ((TcpDiscoveryMulticastIpFinder)ipFinder);
@@ -2000,6 +2131,13 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
}
/** {@inheritDoc} */
+ @Override public TcpDiscoverySpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoverySpi.class, this);
}
@@ -2070,4 +2208,175 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
return S.toString(SocketTimeoutObject.class, this);
}
}
+
+ /**
+ * MBean implementation for TcpDiscoverySpiMBean.
+ */
+ private class TcpDiscoverySpiMBeanImpl extends IgniteSpiMBeanAdapter implements TcpDiscoverySpiMBean {
+ /** {@inheritDoc} */
+ TcpDiscoverySpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getSpiState() {
+ return impl.getSpiState();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMessageWorkerQueueSize() {
+ return impl.getMessageWorkerQueueSize();
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public UUID getCoordinator() {
+ return impl.getCoordinator();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void dumpDebugInfo() {
+ impl.dumpDebugInfo(log);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getSocketTimeout() {
+ return TcpDiscoverySpi.this.getSocketTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxAckTimeout() {
+ return TcpDiscoverySpi.this.getMaxAckTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getAckTimeout() {
+ return TcpDiscoverySpi.this.getAckTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNetworkTimeout() {
+ return TcpDiscoverySpi.this.getNetworkTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getJoinTimeout() {
+ return TcpDiscoverySpi.this.getJoinTimeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getLocalPort() {
+ return TcpDiscoverySpi.this.getLocalPort();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getLocalPortRange() {
+ return TcpDiscoverySpi.this.getLocalPortRange();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getIpFinderCleanFrequency() {
+ return TcpDiscoverySpi.this.getIpFinderCleanFrequency();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getThreadPriority() {
+ return TcpDiscoverySpi.this.getThreadPriority();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getHeartbeatFrequency() {
+ return TcpDiscoverySpi.this.getHeartbeatFrequency();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxMissedHeartbeats() {
+ return TcpDiscoverySpi.this.getMaxMissedHeartbeats();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxMissedClientHeartbeats() {
+ return TcpDiscoverySpi.this.getMaxMissedClientHeartbeats();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getStatisticsPrintFrequency() {
+ return TcpDiscoverySpi.this.getStatisticsPrintFrequency();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getIpFinderFormatted() {
+ return TcpDiscoverySpi.this.getIpFinderFormatted();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getReconnectCount() {
+ return TcpDiscoverySpi.this.getReconnectCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isClientMode() {
+ return TcpDiscoverySpi.this.isClientMode();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNodesJoined() {
+ return TcpDiscoverySpi.this.getNodesJoined();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNodesLeft() {
+ return TcpDiscoverySpi.this.getNodesLeft();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNodesFailed() {
+ return TcpDiscoverySpi.this.getNodesFailed();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getPendingMessagesRegistered() {
+ return TcpDiscoverySpi.this.getPendingMessagesRegistered();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getPendingMessagesDiscarded() {
+ return stats.pendingMessagesDiscarded();
+
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getAvgMessageProcessingTime() {
+ return TcpDiscoverySpi.this.getAvgMessageProcessingTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxMessageProcessingTime() {
+ return TcpDiscoverySpi.this.getMaxMessageProcessingTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalReceivedMessages() {
+ return TcpDiscoverySpi.this.getTotalReceivedMessages();
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<String, Integer> getReceivedMessages() {
+ return TcpDiscoverySpi.this.getReceivedMessages();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalProcessedMessages() {
+ return TcpDiscoverySpi.this.getTotalProcessedMessages();
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<String, Integer> getProcessedMessages() {
+ return TcpDiscoverySpi.this.getProcessedMessages();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getCoordinatorSinceTimestamp() {
+ return TcpDiscoverySpi.this.getCoordinatorSinceTimestamp();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 0e0aed5..1cd91f6 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
@@ -71,10 +71,13 @@ public abstract class TcpDiscoveryIpFinderAdapter implements TcpDiscoveryIpFinde
* with IP finder will be seen by IP finders on all other nodes.
*
* @param shared {@code true} if this IP finder is shared.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setShared(boolean shared) {
+ public TcpDiscoveryIpFinderAdapter setShared(boolean shared) {
this.shared = shared;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
index a16f238..fbbda07 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
@@ -263,10 +263,13 @@ public class TcpDiscoveryJdbcIpFinder extends TcpDiscoveryIpFinderAdapter {
* Data source should be fully configured and ready-to-use.
*
* @param dataSrc Data source.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setDataSource(DataSource dataSrc) {
+ public TcpDiscoveryJdbcIpFinder setDataSource(DataSource dataSrc) {
this.dataSrc = dataSrc;
+
+ return this;
}
/**
@@ -275,10 +278,13 @@ public class TcpDiscoveryJdbcIpFinder extends TcpDiscoveryIpFinderAdapter {
*
* @param initSchema {@code True} if DB schema should be initialized by Ignite (default behaviour),
* {code @false} if schema was explicitly created by user.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setInitSchema(boolean initSchema) {
+ public TcpDiscoveryJdbcIpFinder setInitSchema(boolean initSchema) {
this.initSchema = initSchema;
+
+ return this;
}
/**
@@ -404,6 +410,13 @@ public class TcpDiscoveryJdbcIpFinder extends TcpDiscoveryIpFinderAdapter {
}
/** {@inheritDoc} */
+ @Override public TcpDiscoveryJdbcIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoveryJdbcIpFinder.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
index 8fe8a65..6c47014 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
@@ -153,10 +153,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
* If not provided, default value is {@link #DFLT_MCAST_GROUP}.
*
* @param mcastGrp Multicast IP address.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMulticastGroup(String mcastGrp) {
+ public TcpDiscoveryMulticastIpFinder setMulticastGroup(String mcastGrp) {
this.mcastGrp = mcastGrp;
+
+ return this;
}
/**
@@ -174,10 +177,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
* If not provided, default value is {@link #DFLT_MCAST_PORT}.
*
* @param mcastPort Multicast port number.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMulticastPort(int mcastPort) {
+ public TcpDiscoveryMulticastIpFinder setMulticastPort(int mcastPort) {
this.mcastPort = mcastPort;
+
+ return this;
}
/**
@@ -196,10 +202,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
* If not provided, default value is {@link #DFLT_RES_WAIT_TIME}.
*
* @param resWaitTime Time IP finder waits for reply to multicast address request.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setResponseWaitTime(int resWaitTime) {
+ public TcpDiscoveryMulticastIpFinder setResponseWaitTime(int resWaitTime) {
this.resWaitTime = resWaitTime;
+
+ return this;
}
/**
@@ -219,10 +228,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
* If not provided, default value is {@link #DFLT_ADDR_REQ_ATTEMPTS}.
*
* @param addrReqAttempts Number of attempts to send multicast address request.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setAddressRequestAttempts(int addrReqAttempts) {
+ public TcpDiscoveryMulticastIpFinder setAddressRequestAttempts(int addrReqAttempts) {
this.addrReqAttempts = addrReqAttempts;
+
+ return this;
}
/**
@@ -245,10 +257,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
*
* @param locAddr Local host address.
* @see org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi#setLocalAddress(String)
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setLocalAddress(String locAddr) {
+ public TcpDiscoveryMulticastIpFinder setLocalAddress(String locAddr) {
this.locAddr = locAddr;
+
+ return this;
}
/**
@@ -272,10 +287,13 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
* Default value is {@code -1} which corresponds to system default value.
*
* @param ttl Time to live.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setTimeToLive(int ttl) {
+ public TcpDiscoveryMulticastIpFinder setTimeToLive(int ttl) {
this.ttl = ttl;
+
+ return this;
}
/**
@@ -650,11 +668,6 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
}
}
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(TcpDiscoveryMulticastIpFinder.class, this, "super", super.toString());
- }
-
/**
* @param e Network error to handle.
* @return {@code True} if this error is recoverable and the operation can be retried.
@@ -670,6 +683,18 @@ public class TcpDiscoveryMulticastIpFinder extends TcpDiscoveryVmIpFinder {
return true;
}
+ /** {@inheritDoc} */
+ @Override public TcpDiscoveryMulticastIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(TcpDiscoveryMulticastIpFinder.class, this, "super", super.toString());
+ }
+
/**
* Response to multicast address request.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
index d4e93d2..a30309c 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
@@ -112,10 +112,13 @@ public class TcpDiscoverySharedFsIpFinder extends TcpDiscoveryIpFinderAdapter {
* Sets path.
*
* @param path Shared path.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setPath(String path) {
+ public TcpDiscoverySharedFsIpFinder setPath(String path) {
this.path = path;
+
+ return this;
}
/**
@@ -302,6 +305,13 @@ public class TcpDiscoverySharedFsIpFinder extends TcpDiscoveryIpFinderAdapter {
}
/** {@inheritDoc} */
+ @Override public TcpDiscoverySharedFsIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoverySharedFsIpFinder.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
index 94c237f..e2239b7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
@@ -129,11 +129,12 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
*
* @param addrs Known nodes addresses.
* @throws IgniteSpiException If any error occurs.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public synchronized void setAddresses(Collection<String> addrs) throws IgniteSpiException {
+ public synchronized TcpDiscoveryVmIpFinder setAddresses(Collection<String> addrs) throws IgniteSpiException {
if (F.isEmpty(addrs))
- return;
+ return this;
Collection<InetSocketAddress> newAddrs = new LinkedHashSet<>();
@@ -141,6 +142,8 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
newAddrs.addAll(address(ipStr));
this.addrs = newAddrs;
+
+ return this;
}
/**
@@ -261,6 +264,13 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
}
/** {@inheritDoc} */
+ @Override public TcpDiscoveryVmIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoveryVmIpFinder.class, this, "super", super.toString());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.java
index dcfbde1..a61c236 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.java
@@ -29,6 +29,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.eventstorage.EventStorageSpi;
import org.jsr166.ConcurrentLinkedDeque8;
@@ -94,8 +95,7 @@ import static org.apache.ignite.events.EventType.EVT_NODE_METRICS_UPDATED;
* @see org.apache.ignite.spi.eventstorage.EventStorageSpi
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStorageSpi,
- MemoryEventStorageSpiMBean {
+public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStorageSpi {
/** Default event time to live value in milliseconds (value is {@link Long#MAX_VALUE}). */
public static final long DFLT_EXPIRE_AGE_MS = Long.MAX_VALUE;
@@ -131,10 +131,13 @@ public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStor
* Sets filter for events to be recorded.
*
* @param filter Filter to use.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setFilter(IgnitePredicate<Event> filter) {
+ public MemoryEventStorageSpi setFilter(IgnitePredicate<Event> filter) {
this.filter = filter;
+
+ return this;
}
/** {@inheritDoc} */
@@ -151,7 +154,7 @@ public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStor
log.debug(configInfo("expireCnt", expireCnt));
}
- registerMBean(igniteInstanceName, this, MemoryEventStorageSpiMBean.class);
+ registerMBean(igniteInstanceName, new MemoryEventStorageSpiMBeanImpl(this), MemoryEventStorageSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -171,16 +174,37 @@ public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStor
}
/**
+ * See {@link #setExpireAgeMs(long)}
+ *
+ * @return Event time-to-live.
+ */
+ public long getExpireAgeMs() {
+ return expireAgeMs;
+ }
+
+ /**
* Sets events expiration time. All events that exceed this value
* will be removed from the queue when next event comes.
* <p>
* If not provided, default value is {@link #DFLT_EXPIRE_AGE_MS}.
*
* @param expireAgeMs Expiration time in milliseconds.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setExpireAgeMs(long expireAgeMs) {
+ public MemoryEventStorageSpi setExpireAgeMs(long expireAgeMs) {
this.expireAgeMs = expireAgeMs;
+
+ return this;
+ }
+
+ /**
+ * See {@link #setExpireCount(long)}
+ *
+ * @return Maximum event queue size.
+ */
+ public long getExpireCount() {
+ return expireCnt;
}
/**
@@ -189,29 +213,28 @@ public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStor
* If not provided, default value {@link #DFLT_EXPIRE_COUNT} will be used.
*
* @param expireCnt Maximum queue size.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setExpireCount(long expireCnt) {
+ public MemoryEventStorageSpi setExpireCount(long expireCnt) {
this.expireCnt = expireCnt;
- }
- /** {@inheritDoc} */
- @Override public long getExpireAgeMs() {
- return expireAgeMs;
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getExpireCount() {
- return expireCnt;
- }
-
- /** {@inheritDoc} */
- @Override public long getQueueSize() {
+ /**
+ * Gets current queue size of the event queue.
+ *
+ * @return Current queue size of the event queue.
+ */
+ public long getQueueSize() {
return evts.sizex();
}
- /** {@inheritDoc} */
- @Override public void clearAll() {
+ /**
+ * Removes all events from the event queue.
+ */
+ public void clearAll() {
evts.clear();
}
@@ -278,7 +301,44 @@ public class MemoryEventStorageSpi extends IgniteSpiAdapter implements EventStor
}
/** {@inheritDoc} */
+ @Override public MemoryEventStorageSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(MemoryEventStorageSpi.class, this);
}
+
+ /**
+ * MBean implementation for MemoryEventStorageSpi.
+ */
+ private class MemoryEventStorageSpiMBeanImpl extends IgniteSpiMBeanAdapter implements MemoryEventStorageSpiMBean {
+ /** {@inheritDoc} */
+ MemoryEventStorageSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getExpireAgeMs() {
+ return MemoryEventStorageSpi.this.getExpireAgeMs();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getExpireCount() {
+ return MemoryEventStorageSpi.this.getExpireCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getQueueSize() {
+ return MemoryEventStorageSpi.this.getQueueSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void clearAll() {
+ MemoryEventStorageSpi.this.clearAll();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.java
index 4b916e7..468a627 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.java
@@ -37,6 +37,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.failover.FailoverContext;
import org.apache.ignite.spi.failover.FailoverSpi;
@@ -95,7 +96,7 @@ import org.apache.ignite.spi.failover.FailoverSpi;
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = true)
-public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi, AlwaysFailoverSpiMBean {
+public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi {
/** Maximum number of attempts to execute a failed job on another node (default is {@code 5}). */
public static final int DFLT_MAX_FAILOVER_ATTEMPTS = 5;
@@ -124,8 +125,12 @@ public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi,
/** Number of jobs that were failed over. */
private int totalFailoverJobs;
- /** {@inheritDoc} */
- @Override public int getMaximumFailoverAttempts() {
+ /**
+ * See {@link #setMaximumFailoverAttempts(int)}.
+ *
+ * @return Maximum number of attempts to execute a failed job on another node.
+ */
+ public int getMaximumFailoverAttempts() {
return maxFailoverAttempts;
}
@@ -134,14 +139,21 @@ public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi,
* If not specified, {@link #DFLT_MAX_FAILOVER_ATTEMPTS} value will be used.
*
* @param maxFailoverAttempts Maximum number of attempts to execute a failed job on another node.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMaximumFailoverAttempts(int maxFailoverAttempts) {
+ public AlwaysFailoverSpi setMaximumFailoverAttempts(int maxFailoverAttempts) {
this.maxFailoverAttempts = maxFailoverAttempts;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getTotalFailoverJobsCount() {
+ /**
+ * Get total number of jobs that were failed over.
+ *
+ * @return Total number of failed over jobs.
+ */
+ public int getTotalFailoverJobsCount() {
return totalFailoverJobs;
}
@@ -160,7 +172,7 @@ public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi,
if (log.isDebugEnabled())
log.debug(configInfo("maximumFailoverAttempts", maxFailoverAttempts));
- registerMBean(igniteInstanceName, this, AlwaysFailoverSpiMBean.class);
+ registerMBean(igniteInstanceName, new AlwaysFailoverSpiMBeanImpl(this), AlwaysFailoverSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -286,7 +298,34 @@ public class AlwaysFailoverSpi extends IgniteSpiAdapter implements FailoverSpi,
}
/** {@inheritDoc} */
+ @Override public AlwaysFailoverSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(AlwaysFailoverSpi.class, this);
}
+
+ /**
+ * MBean implementation for AlwaysFailoverSpi.
+ */
+ private class AlwaysFailoverSpiMBeanImpl extends IgniteSpiMBeanAdapter implements AlwaysFailoverSpiMBean {
+ /** {@inheritDoc} */
+ AlwaysFailoverSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumFailoverAttempts() {
+ return AlwaysFailoverSpi.this.getMaximumFailoverAttempts();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalFailoverJobsCount() {
+ return AlwaysFailoverSpi.this.getTotalFailoverJobsCount();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 05c681d..3ef32ab 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
@@ -34,6 +34,7 @@ import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.failover.FailoverContext;
import org.apache.ignite.spi.failover.FailoverSpi;
@@ -98,8 +99,7 @@ import static org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSp
*/
@IgniteSpiMultipleInstancesSupport(true)
@IgniteSpiConsistencyChecked(optional = true)
-public class JobStealingFailoverSpi extends IgniteSpiAdapter implements FailoverSpi,
- JobStealingFailoverSpiMBean {
+public class JobStealingFailoverSpi extends IgniteSpiAdapter implements FailoverSpi {
/** Maximum number of attempts to execute a failed job on another node (default is {@code 5}). */
public static final int DFLT_MAX_FAILOVER_ATTEMPTS = 5;
@@ -136,8 +136,12 @@ public class JobStealingFailoverSpi extends IgniteSpiAdapter implements Failover
/** Number of jobs that were stolen. */
private int totalStolenJobs;
- /** {@inheritDoc} */
- @Override public int getMaximumFailoverAttempts() {
+ /**
+ * See {@link #setMaximumFailoverAttempts(int)}.
+ *
+ * @return Maximum number of attempts to execute a failed job on another node.
+ */
+ public int getMaximumFailoverAttempts() {
return maxFailoverAttempts;
}
@@ -151,19 +155,30 @@ public class JobStealingFailoverSpi extends IgniteSpiAdapter implements Failover
*
* @param maxFailoverAttempts Maximum number of attempts to execute a failed
* job on another node.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setMaximumFailoverAttempts(int maxFailoverAttempts) {
+ public JobStealingFailoverSpi setMaximumFailoverAttempts(int maxFailoverAttempts) {
this.maxFailoverAttempts = maxFailoverAttempts;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getTotalFailedOverJobsCount() {
+ /**
+ * Get total number of jobs that were failed over including stolen ones.
+ *
+ * @return Total number of failed over jobs.
+ */
+ public int getTotalFailedOverJobsCount() {
return totalFailedOverJobs;
}
- /** {@inheritDoc} */
- @Override public int getTotalStolenJobsCount() {
+ /**
+ * Get total number of jobs that were stolen.
+ *
+ * @return Total number of stolen jobs.
+ */
+ public int getTotalStolenJobsCount() {
return totalStolenJobs;
}
@@ -182,7 +197,7 @@ public class JobStealingFailoverSpi extends IgniteSpiAdapter implements Failover
if (log.isDebugEnabled())
log.debug(configInfo("maxFailoverAttempts", maxFailoverAttempts));
- registerMBean(igniteInstanceName, this, JobStealingFailoverSpiMBean.class);
+ registerMBean(igniteInstanceName, new JobStealingFailoverSpiMBeanImpl(this), JobStealingFailoverSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -355,7 +370,40 @@ public class JobStealingFailoverSpi extends IgniteSpiAdapter implements Failover
}
/** {@inheritDoc} */
+ @Override public JobStealingFailoverSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(JobStealingFailoverSpi.class, this);
}
+
+ /**
+ * MBean implementation for JobStealingFailoverSpi.
+ */
+ private class JobStealingFailoverSpiMBeanImpl extends IgniteSpiMBeanAdapter implements JobStealingFailoverSpiMBean {
+ /** {@inheritDoc} */
+ public JobStealingFailoverSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumFailoverAttempts() {
+ return JobStealingFailoverSpi.this.getMaximumFailoverAttempts();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalFailedOverJobsCount() {
+ return JobStealingFailoverSpi.this.getTotalFailedOverJobsCount();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalStolenJobsCount() {
+ return JobStealingFailoverSpi.this.getTotalStolenJobsCount();
+ }
+
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/failover/never/NeverFailoverSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/failover/never/NeverFailoverSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/failover/never/NeverFailoverSpi.java
index 1056d2e..ffd695e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/failover/never/NeverFailoverSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/failover/never/NeverFailoverSpi.java
@@ -25,6 +25,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.failover.FailoverContext;
import org.apache.ignite.spi.failover.FailoverSpi;
@@ -32,7 +33,8 @@ import org.apache.ignite.spi.failover.FailoverSpi;
/**
* This class provides failover SPI implementation that never fails over. This implementation
* never fails over a failed job by always returning {@code null} out of
- * {@link org.apache.ignite.spi.failover.FailoverSpi#failover(org.apache.ignite.spi.failover.FailoverContext, List)} method.
+ * {@link org.apache.ignite.spi.failover.FailoverSpi#failover(org.apache.ignite.spi.failover.FailoverContext, List)}
+ * method.
* <h1 class="header">Configuration</h1>
* <h2 class="header">Mandatory</h2>
* This SPI has no mandatory configuration parameters.
@@ -54,17 +56,18 @@ import org.apache.ignite.spi.failover.FailoverSpi;
* Here is an example on how to configure grid with {@link NeverFailoverSpi} from Spring XML configuration file:
* <pre name="code" class="xml">
* <property name="failoverSpi">
- * <bean class="org.apache.ignite.spi.failover.never.NeverFailoverSpi"/>
+ * <bean class="org.apache.ignite.spi.failover.never.NeverFailoverSpi"/>
* </property>
* </pre>
* <p>
* <img src="http://ignite.apache.org/images/spring-small.png">
* <br>
* For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a>
+ *
* @see org.apache.ignite.spi.failover.FailoverSpi
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class NeverFailoverSpi extends IgniteSpiAdapter implements FailoverSpi, NeverFailoverSpiMBean {
+public class NeverFailoverSpi extends IgniteSpiAdapter implements FailoverSpi {
/** Injected grid logger. */
@LoggerResource
private IgniteLogger log;
@@ -74,7 +77,7 @@ public class NeverFailoverSpi extends IgniteSpiAdapter implements FailoverSpi, N
// Start SPI start stopwatch.
startStopwatch();
- registerMBean(igniteInstanceName, this, NeverFailoverSpiMBean.class);
+ registerMBean(igniteInstanceName, new NeverFailoverSpiMBeanImpl(this), NeverFailoverSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -93,14 +96,31 @@ public class NeverFailoverSpi extends IgniteSpiAdapter implements FailoverSpi, N
/** {@inheritDoc} */
@Override public ClusterNode failover(FailoverContext ctx, List<ClusterNode> top) {
U.warn(log, "Returning 'null' node for failed job (failover will not happen) [job=" +
- ctx.getJobResult().getJob() + ", task=" + ctx.getTaskSession().getTaskName() +
+ ctx.getJobResult().getJob() + ", task=" + ctx.getTaskSession().getTaskName() +
", sessionId=" + ctx.getTaskSession().getId() + ']');
return null;
}
/** {@inheritDoc} */
+ @Override public NeverFailoverSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(NeverFailoverSpi.class, this);
}
+
+ /**
+ * MBean implementation for NeverFailoverSpi.
+ */
+ private class NeverFailoverSpiMBeanImpl extends IgniteSpiMBeanAdapter implements NeverFailoverSpiMBean {
+ /** {@inheritDoc} */
+ NeverFailoverSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.java
index 5c8bfd2..a8683a1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.java
@@ -68,4 +68,11 @@ public class NoopIndexingSpi extends IgniteSpiAdapter implements IndexingSpi {
@Override public void spiStop() throws IgniteSpiException {
// No-op.
}
+
+ /** {@inheritDoc} */
+ @Override public NoopIndexingSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
}
\ No newline at end of file
[5/5] ignite git commit: IGNITE-4564: All setters on public
configuration now return "this" instance to allow convenient chaining. This
closes #1449.
Posted by vo...@apache.org.
IGNITE-4564: All setters on public configuration now return "this" instance to allow convenient chaining. This closes #1449.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cfc88028
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cfc88028
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cfc88028
Branch: refs/heads/master
Commit: cfc88028fb359d1ccb64ca636eccc86db0f0e61d
Parents: 44cf1d2
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Thu Mar 30 19:01:29 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Thu Mar 30 19:01:29 2017 +0300
----------------------------------------------------------------------
.../spi/checkpoint/s3/S3CheckpointSpi.java | 72 ++-
.../tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java | 27 +-
.../cloud/TcpDiscoveryCloudIpFinder.java | 51 +-
.../ignite/binary/BinaryBasicIdMapper.java | 5 +-
.../ignite/binary/BinaryBasicNameMapper.java | 5 +-
.../ignite/binary/BinaryTypeConfiguration.java | 30 +-
.../ignite/cache/CacheKeyConfiguration.java | 10 +-
.../org/apache/ignite/cache/QueryEntity.java | 35 +-
.../affinity/fair/FairAffinityFunction.java | 21 +-
.../rendezvous/RendezvousAffinityFunction.java | 27 +-
.../cache/eviction/AbstractEvictionPolicy.java | 15 +-
.../cache/eviction/fifo/FifoEvictionPolicy.java | 74 ++-
.../eviction/fifo/FifoEvictionPolicyMBean.java | 2 +
.../igfs/IgfsPerBlockLruEvictionPolicy.java | 131 ++++-
.../cache/eviction/lru/LruEvictionPolicy.java | 74 ++-
.../eviction/sorted/SortedEvictionPolicy.java | 74 ++-
.../configuration/AtomicConfiguration.java | 15 +-
.../configuration/BinaryConfiguration.java | 30 +-
.../configuration/CacheConfiguration.java | 71 ++-
.../configuration/CollectionConfiguration.java | 36 +-
.../configuration/ConnectorConfiguration.java | 100 +++-
.../configuration/FileSystemConfiguration.java | 151 ++++--
.../configuration/HadoopConfiguration.java | 31 +-
.../configuration/NearCacheConfiguration.java | 50 ++
.../configuration/TransactionConfiguration.java | 45 +-
.../igfs/IgfsGroupDataBlocksKeyMapper.java | 5 +-
.../igfs/IgfsIpcEndpointConfiguration.java | 30 +-
.../client/GridClientConfiguration.java | 100 +++-
.../client/GridClientDataConfiguration.java | 15 +-
.../client/GridClientPartitionAffinity.java | 15 +-
.../balancer/GridClientBalancerAdapter.java | 5 +-
.../router/GridTcpRouterConfiguration.java | 50 +-
.../internal/jdbc2/JdbcSqlFieldsQuery.java | 57 ++
.../processors/cache/GridCacheProcessor.java | 39 +-
.../dotnet/PlatformDotNetConfigurationEx.java | 21 +-
.../utils/PlatformConfigurationUtils.java | 3 +-
.../optimized/OptimizedMarshaller.java | 15 +-
.../apache/ignite/mxbean/IgniteMBeanAware.java | 28 +
.../dotnet/PlatformDotNetAffinityFunction.java | 10 +-
.../PlatformDotNetBinaryConfiguration.java | 31 +-
.../PlatformDotNetBinaryTypeConfiguration.java | 35 +-
.../dotnet/PlatformDotNetConfiguration.java | 10 +-
.../ignite/services/ServiceConfiguration.java | 35 +-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 50 +-
.../ignite/spi/IgniteSpiMBeanAdapter.java | 78 +++
.../checkpoint/cache/CacheCheckpointSpi.java | 40 +-
.../spi/checkpoint/jdbc/JdbcCheckpointSpi.java | 219 ++++++--
.../spi/checkpoint/noop/NoopCheckpointSpi.java | 7 +
.../sharedfs/SharedFsCheckpointSpi.java | 54 +-
.../fifoqueue/FifoQueueCollisionSpi.java | 134 ++++-
.../fifoqueue/FifoQueueCollisionSpiMBean.java | 2 +-
.../jobstealing/JobStealingCollisionSpi.java | 281 ++++++++--
.../JobStealingCollisionSpiMBean.java | 6 +-
.../spi/collision/noop/NoopCollisionSpi.java | 7 +
.../PriorityQueueCollisionSpi.java | 278 ++++++++--
.../PriorityQueueCollisionSpiMBean.java | 2 +-
.../communication/tcp/TcpCommunicationSpi.java | 536 ++++++++++++++++---
.../deployment/local/LocalDeploymentSpi.java | 24 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 437 ++++++++++++---
.../ipfinder/TcpDiscoveryIpFinderAdapter.java | 5 +-
.../ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java | 17 +-
.../TcpDiscoveryMulticastIpFinder.java | 47 +-
.../sharedfs/TcpDiscoverySharedFsIpFinder.java | 12 +-
.../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java | 14 +-
.../memory/MemoryEventStorageSpi.java | 98 +++-
.../spi/failover/always/AlwaysFailoverSpi.java | 53 +-
.../jobstealing/JobStealingFailoverSpi.java | 68 ++-
.../spi/failover/never/NeverFailoverSpi.java | 30 +-
.../spi/indexing/noop/NoopIndexingSpi.java | 7 +
.../adaptive/AdaptiveLoadBalancingSpi.java | 43 +-
.../roundrobin/RoundRobinLoadBalancingSpi.java | 44 +-
.../WeightedRandomLoadBalancingSpi.java | 61 ++-
.../spi/swapspace/file/FileSwapSpaceSpi.java | 112 +++-
.../spi/swapspace/noop/NoopSwapSpaceSpi.java | 7 +
.../gce/TcpDiscoveryGoogleStorageIpFinder.java | 33 +-
.../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 10 +-
.../IgniteHadoopWeightedMapReducePlanner.java | 26 +-
.../spi/deployment/uri/UriDeploymentSpi.java | 80 ++-
.../zk/TcpDiscoveryZookeeperIpFinder.java | 37 +-
79 files changed, 3935 insertions(+), 710 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/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 3d5954f..2330ef3 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
@@ -51,6 +51,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMBeanAdapter;
import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
import org.apache.ignite.spi.IgniteSpiThread;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
@@ -122,7 +123,7 @@ import org.jetbrains.annotations.Nullable;
* @see org.apache.ignite.spi.checkpoint.CheckpointSpi
*/
@IgniteSpiMultipleInstancesSupport(true)
-public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi, S3CheckpointSpiMBean {
+public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi {
/** Logger. */
@SuppressWarnings({"FieldAccessedSynchronizedAndUnsynchronized"})
@LoggerResource
@@ -169,7 +170,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
*
* @return S3 bucket name to use.
*/
- @Override public String getBucketName() {
+ public String getBucketName() {
return bucketName;
}
@@ -178,7 +179,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
*
* @return S3 access key.
*/
- @Override public String getAccessKey() {
+ public String getAccessKey() {
return cred.getAWSAccessKeyId();
}
@@ -196,7 +197,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
*
* @return HTTP proxy host.
*/
- @Override public String getProxyHost() {
+ public String getProxyHost() {
return cfg.getProxyHost();
}
@@ -205,7 +206,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
*
* @return HTTP proxy port.
*/
- @Override public int getProxyPort() {
+ public int getProxyPort() {
return cfg.getProxyPort();
}
@@ -214,7 +215,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
*
* @return HTTP proxy user name.
*/
- @Override public String getProxyUsername() {
+ public String getProxyUsername() {
return cfg.getProxyUsername();
}
@@ -231,10 +232,13 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
* Sets bucket name suffix.
*
* @param bucketNameSuffix Bucket name suffix.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setBucketNameSuffix(String bucketNameSuffix) {
+ public S3CheckpointSpi setBucketNameSuffix(String bucketNameSuffix) {
this.bucketNameSuffix = bucketNameSuffix;
+
+ return this;
}
/**
@@ -243,10 +247,13 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
* For details refer to Amazon S3 API reference.
*
* @param cfg Amazon client configuration.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setClientConfiguration(ClientConfiguration cfg) {
+ public S3CheckpointSpi setClientConfiguration(ClientConfiguration cfg) {
this.cfg = cfg;
+
+ return this;
}
/**
@@ -255,10 +262,13 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
* For details refer to Amazon S3 API reference.
*
* @param cred AWS credentials.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setAwsCredentials(AWSCredentials cred) {
+ public S3CheckpointSpi setAwsCredentials(AWSCredentials cred) {
this.cred = cred;
+
+ return this;
}
/** {@inheritDoc} */
@@ -351,7 +361,7 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
timeoutWrk.start();
- registerMBean(igniteInstanceName, this, S3CheckpointSpiMBean.class);
+ registerMBean(igniteInstanceName, new S3CheckpointSpiMBeanImpl(this), S3CheckpointSpiMBean.class);
// Ack ok start.
if (log.isDebugEnabled())
@@ -570,6 +580,13 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
}
/** {@inheritDoc} */
+ @Override public S3CheckpointSpi setName(String name) {
+ super.setName(name);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(S3CheckpointSpi.class, this);
}
@@ -702,4 +719,39 @@ public class S3CheckpointSpi extends IgniteSpiAdapter implements CheckpointSpi,
return S.toString(S3TimeoutWorker.class, this);
}
}
+
+ /**
+ * MBean implementation for S3CheckpointSpi.
+ */
+ private class S3CheckpointSpiMBeanImpl extends IgniteSpiMBeanAdapter implements S3CheckpointSpiMBean {
+ /** {@inheritDoc} */
+ S3CheckpointSpiMBeanImpl(IgniteSpiAdapter spiAdapter) {
+ super(spiAdapter);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getBucketName() {
+ return S3CheckpointSpi.this.getBucketName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getAccessKey() {
+ return S3CheckpointSpi.this.getAccessKey();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getProxyHost() {
+ return S3CheckpointSpi.this.getProxyHost();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getProxyPort() {
+ return S3CheckpointSpi.this.getProxyPort();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getProxyUsername() {
+ return S3CheckpointSpi.this.getProxyUsername();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/aws/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java
----------------------------------------------------------------------
diff --git a/modules/aws/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java b/modules/aws/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java
index d9f50c2..2307a66 100644
--- a/modules/aws/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java
+++ b/modules/aws/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.java
@@ -308,10 +308,13 @@ public class TcpDiscoveryS3IpFinder extends TcpDiscoveryIpFinderAdapter {
* Sets bucket name for IP finder.
*
* @param bucketName Bucket name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setBucketName(String bucketName) {
+ public TcpDiscoveryS3IpFinder setBucketName(String bucketName) {
this.bucketName = bucketName;
+
+ return this;
}
/**
@@ -320,10 +323,13 @@ public class TcpDiscoveryS3IpFinder extends TcpDiscoveryIpFinderAdapter {
* For details refer to Amazon S3 API reference.
*
* @param cfg Amazon client configuration.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setClientConfiguration(ClientConfiguration cfg) {
+ public TcpDiscoveryS3IpFinder setClientConfiguration(ClientConfiguration cfg) {
this.cfg = cfg;
+
+ return this;
}
/**
@@ -332,10 +338,13 @@ public class TcpDiscoveryS3IpFinder extends TcpDiscoveryIpFinderAdapter {
* For details refer to Amazon S3 API reference.
*
* @param cred AWS credentials.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setAwsCredentials(AWSCredentials cred) {
+ public TcpDiscoveryS3IpFinder setAwsCredentials(AWSCredentials cred) {
this.cred = cred;
+
+ return this;
}
/**
@@ -344,10 +353,20 @@ public class TcpDiscoveryS3IpFinder extends TcpDiscoveryIpFinderAdapter {
* For details refer to Amazon S3 API reference.
*
* @param credProvider AWS credentials provider.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setAwsCredentialsProvider(AWSCredentialsProvider credProvider) {
+ public TcpDiscoveryS3IpFinder setAwsCredentialsProvider(AWSCredentialsProvider credProvider) {
this.credProvider = credProvider;
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public TcpDiscoveryS3IpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/cloud/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/cloud/TcpDiscoveryCloudIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/cloud/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/cloud/TcpDiscoveryCloudIpFinder.java b/modules/cloud/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/cloud/TcpDiscoveryCloudIpFinder.java
index 2c03557..1aa3790 100644
--- a/modules/cloud/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/cloud/TcpDiscoveryCloudIpFinder.java
+++ b/modules/cloud/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/cloud/TcpDiscoveryCloudIpFinder.java
@@ -36,6 +36,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.spi.IgniteSpiConfiguration;
import org.apache.ignite.spi.IgniteSpiException;
@@ -230,10 +231,13 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* ComputeService section contains names of all supported providers.
*
* @param provider Provider name.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setProvider(String provider) {
+ public TcpDiscoveryCloudIpFinder setProvider(String provider) {
this.provider = provider;
+
+ return this;
}
/**
@@ -244,10 +248,13 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* what is used as an identity for a particular cloud platform.
*
* @param identity Identity to use during authentication on the cloud.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = false)
- public void setIdentity(String identity) {
+ public TcpDiscoveryCloudIpFinder setIdentity(String identity) {
this.identity = identity;
+
+ return this;
}
/**
@@ -258,10 +265,13 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* what is used as an credential for a particular cloud platform.
*
* @param credential Credential to use during authentication on the cloud.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setCredential(String credential) {
+ public TcpDiscoveryCloudIpFinder setCredential(String credential) {
this.credential = credential;
+
+ return this;
}
/**
@@ -275,10 +285,13 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* what is used as an credential for a particular cloud platform.
*
* @param credentialPath Path to the credential to use during authentication on the cloud.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setCredentialPath(String credentialPath) {
+ public TcpDiscoveryCloudIpFinder setCredentialPath(String credentialPath) {
this.credentialPath = credentialPath;
+
+ return this;
}
/**
@@ -291,13 +304,14 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* providers a call to this method is redundant.
*
* @param zones Zones where VMs are located or null if to take every zone into account.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setZones(Collection<String> zones) {
- if (F.isEmpty(zones))
- return;
+ public TcpDiscoveryCloudIpFinder setZones(Collection<String> zones) {
+ if (!F.isEmpty(zones))
+ this.zones = new TreeSet<>(zones);
- this.zones = new TreeSet<>(zones);
+ return this;
}
/**
@@ -310,13 +324,14 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
* providers a call to this method is redundant.
*
* @param regions Regions where VMs are located or null if to check every region a provider has.
+ * @return {@code this} for chaining.
*/
@IgniteSpiConfiguration(optional = true)
- public void setRegions(Collection<String> regions) {
- if (F.isEmpty(regions))
- return;
+ public TcpDiscoveryCloudIpFinder setRegions(Collection<String> regions) {
+ if (!F.isEmpty(regions))
+ this.regions = new TreeSet<>(regions);
- this.regions = new TreeSet<>(regions);
+ return this;
}
/**
@@ -452,4 +467,16 @@ public class TcpDiscoveryCloudIpFinder extends TcpDiscoveryIpFinderAdapter {
return builder.toString();
}
+
+ /** {@inheritDoc} */
+ @Override public TcpDiscoveryCloudIpFinder setShared(boolean shared) {
+ super.setShared(shared);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(TcpDiscoveryCloudIpFinder.class, this);
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicIdMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicIdMapper.java b/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicIdMapper.java
index da31751..53ad9b6 100644
--- a/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicIdMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicIdMapper.java
@@ -114,9 +114,12 @@ public class BinaryBasicIdMapper implements BinaryIdMapper {
* Sets whether to use strings in lower case or not.
*
* @param isLowerCase Whether to use strings in lower case or not.
+ * @return {@code this} for chaining.
*/
- public void setLowerCase(boolean isLowerCase) {
+ public BinaryBasicIdMapper setLowerCase(boolean isLowerCase) {
this.isLowerCase = isLowerCase;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicNameMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicNameMapper.java b/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicNameMapper.java
index 42d6b5b..bc338b4 100644
--- a/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicNameMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/binary/BinaryBasicNameMapper.java
@@ -58,9 +58,12 @@ public class BinaryBasicNameMapper implements BinaryNameMapper {
* Sets whether to use simple name of class or not.
*
* @param isSimpleName Whether to use simple name of class or not.
+ * @return {@code this} for chaining.
*/
- public void setSimpleName(boolean isSimpleName) {
+ public BinaryBasicNameMapper setSimpleName(boolean isSimpleName) {
this.isSimpleName = isSimpleName;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/binary/BinaryTypeConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/binary/BinaryTypeConfiguration.java b/modules/core/src/main/java/org/apache/ignite/binary/BinaryTypeConfiguration.java
index d95e0ae..1b2d828 100644
--- a/modules/core/src/main/java/org/apache/ignite/binary/BinaryTypeConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/binary/BinaryTypeConfiguration.java
@@ -91,9 +91,12 @@ public class BinaryTypeConfiguration {
* Sets type name.
*
* @param typeName Type name.
+ * @return {@code this} for chaining.
*/
- public void setTypeName(String typeName) {
+ public BinaryTypeConfiguration setTypeName(String typeName) {
this.typeName = typeName;
+
+ return this;
}
/**
@@ -109,9 +112,12 @@ public class BinaryTypeConfiguration {
* Sets ID mapper.
*
* @param idMapper ID mapper.
+ * @return {@code this} for chaining.
*/
- public void setIdMapper(BinaryIdMapper idMapper) {
+ public BinaryTypeConfiguration setIdMapper(BinaryIdMapper idMapper) {
this.idMapper = idMapper;
+
+ return this;
}
/**
@@ -127,9 +133,12 @@ public class BinaryTypeConfiguration {
* Sets name mapper.
*
* @param nameMapper Name mapper.
+ * @return {@code this} for chaining.
*/
- public void setNameMapper(BinaryNameMapper nameMapper) {
+ public BinaryTypeConfiguration setNameMapper(BinaryNameMapper nameMapper) {
this.nameMapper = nameMapper;
+
+ return this;
}
/**
@@ -145,9 +154,12 @@ public class BinaryTypeConfiguration {
* Sets serializer.
*
* @param serializer Serializer.
+ * @return {@code this} for chaining.
*/
- public void setSerializer(BinarySerializer serializer) {
+ public BinaryTypeConfiguration setSerializer(BinarySerializer serializer) {
this.serializer = serializer;
+
+ return this;
}
/**
@@ -163,9 +175,12 @@ public class BinaryTypeConfiguration {
* Sets identity resolver.
*
* @param identityRslvr Identity resolver.
+ * @return {@code this} for chaining.
*/
- public void setIdentityResolver(@Nullable BinaryIdentityResolver identityRslvr) {
+ public BinaryTypeConfiguration setIdentityResolver(@Nullable BinaryIdentityResolver identityRslvr) {
this.identityRslvr = identityRslvr;
+
+ return this;
}
/**
@@ -181,9 +196,12 @@ public class BinaryTypeConfiguration {
* Sets whether this is enum type.
*
* @param isEnum {@code True} if enum.
+ * @return {@code this} for chaining.
*/
- public void setEnum(boolean isEnum) {
+ public BinaryTypeConfiguration setEnum(boolean isEnum) {
this.isEnum = isEnum;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/CacheKeyConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheKeyConfiguration.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheKeyConfiguration.java
index f117847..33e5881 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheKeyConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheKeyConfiguration.java
@@ -81,9 +81,12 @@ public class CacheKeyConfiguration implements Serializable {
/**
* @param typeName Type name for which affinity field name is being defined.
+ * @return {@code this} for chaining.
*/
- public void setTypeName(String typeName) {
+ public CacheKeyConfiguration setTypeName(String typeName) {
this.typeName = typeName;
+
+ return this;
}
/**
@@ -99,9 +102,12 @@ public class CacheKeyConfiguration implements Serializable {
* Sets affinity key field name.
*
* @param affKeyFieldName Affinity key field name.
+ * @return {@code this} for chaining.
*/
- public void setAffinityKeyFieldName(String affKeyFieldName) {
+ public CacheKeyConfiguration setAffinityKeyFieldName(String affKeyFieldName) {
this.affKeyFieldName = affKeyFieldName;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java b/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
index 48cdae5..f791c1c 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
@@ -86,9 +86,12 @@ public class QueryEntity implements Serializable {
* Sets key type for this query pair.
*
* @param keyType Key type.
+ * @return {@code this} for chaining.
*/
- public void setKeyType(String keyType) {
+ public QueryEntity setKeyType(String keyType) {
this.keyType = keyType;
+
+ return this;
}
/**
@@ -104,9 +107,12 @@ public class QueryEntity implements Serializable {
* Sets value type for this query pair.
*
* @param valType Value type.
+ * @return {@code this} for chaining.
*/
- public void setValueType(String valType) {
+ public QueryEntity setValueType(String valType) {
this.valType = valType;
+
+ return this;
}
/**
@@ -124,9 +130,12 @@ public class QueryEntity implements Serializable {
* order of columns returned by the 'select *' queries.
*
* @param fields Field-to-type map.
+ * @return {@code this} for chaining.
*/
- public void setFields(LinkedHashMap<String, String> fields) {
+ public QueryEntity setFields(LinkedHashMap<String, String> fields) {
this.fields = fields;
+
+ return this;
}
/**
@@ -146,9 +155,12 @@ public class QueryEntity implements Serializable {
* Thus, setting this parameter in XML is not mandatory and should be based on particular use case.
*
* @param keyFields Set of names of key fields.
+ * @return {@code this} for chaining.
*/
- public void setKeyFields(Set<String> keyFields) {
+ public QueryEntity setKeyFields(Set<String> keyFields) {
this.keyFields = keyFields;
+
+ return this;
}
/**
@@ -174,17 +186,21 @@ public class QueryEntity implements Serializable {
* Example: {"parent.name" -> "parentName"}.
*
* @param aliases Aliases map.
+ * @return {@code this} for chaining.
*/
- public void setAliases(Map<String, String> aliases) {
+ public QueryEntity setAliases(Map<String, String> aliases) {
this.aliases = aliases;
+
+ return this;
}
/**
* Sets a collection of index entities.
*
* @param idxs Collection of index entities.
+ * @return {@code this} for chaining.
*/
- public void setIndexes(Collection<QueryIndex> idxs) {
+ public QueryEntity setIndexes(Collection<QueryIndex> idxs) {
for (QueryIndex idx : idxs) {
if (!F.isEmpty(idx.getFields())) {
if (idx.getName() == null)
@@ -199,6 +215,8 @@ public class QueryEntity implements Serializable {
throw new IllegalArgumentException("Duplicate index name: " + idx.getName());
}
}
+
+ return this;
}
/**
@@ -220,8 +238,9 @@ public class QueryEntity implements Serializable {
/**
* Utility method for building query entities programmatically.
+ * @return {@code this} for chaining.
*/
- public void addQueryField(String fullName, String type, String alias) {
+ public QueryEntity addQueryField(String fullName, String type, String alias) {
A.notNull(fullName, "fullName");
A.notNull(type, "type");
@@ -229,6 +248,8 @@ public class QueryEntity implements Serializable {
if (alias != null)
aliases.put(fullName, alias);
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
index 7acb5b4..c406ba6 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
@@ -196,11 +196,14 @@ public class FairAffinityFunction implements AffinityFunction {
* Sets total number of partitions.
*
* @param parts Total number of partitions.
+ * @return {@code this} for chaining.
*/
- public void setPartitions(int parts) {
+ public FairAffinityFunction setPartitions(int parts) {
A.ensure(parts <= CacheConfiguration.MAX_PARTITIONS_COUNT, "parts <= " + CacheConfiguration.MAX_PARTITIONS_COUNT);
this.parts = parts;
+
+ return this;
}
@@ -226,10 +229,13 @@ public class FairAffinityFunction implements AffinityFunction {
*
* @param backupFilter Optional backup filter.
* @deprecated Use {@code affinityBackupFilter} instead.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setBackupFilter(@Nullable IgniteBiPredicate<ClusterNode, ClusterNode> backupFilter) {
+ public FairAffinityFunction setBackupFilter(@Nullable IgniteBiPredicate<ClusterNode, ClusterNode> backupFilter) {
this.backupFilter = backupFilter;
+
+ return this;
}
/**
@@ -253,9 +259,13 @@ public class FairAffinityFunction implements AffinityFunction {
* Note that {@code affinityBackupFilter} is ignored if {@code excludeNeighbors} is set to {@code true}.
*
* @param affinityBackupFilter Optional backup filter.
+ * @return {@code this} for chaining.
*/
- public void setAffinityBackupFilter(@Nullable IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter) {
+ public FairAffinityFunction setAffinityBackupFilter(
+ @Nullable IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter) {
this.affinityBackupFilter = affinityBackupFilter;
+
+ return this;
}
/**
@@ -275,9 +285,12 @@ public class FairAffinityFunction implements AffinityFunction {
* Note that {@code backupFilter} is ignored if {@code excludeNeighbors} is set to {@code true}.
*
* @param exclNeighbors {@code True} if nodes residing on the same host may not act as backups of each other.
+ * @return {@code this} for chaining.
*/
- public void setExcludeNeighbors(boolean exclNeighbors) {
+ public FairAffinityFunction setExcludeNeighbors(boolean exclNeighbors) {
this.exclNeighbors = exclNeighbors;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
index 3d21dd5..0fee1af 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
@@ -219,11 +219,14 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
* Sets total number of partitions.
*
* @param parts Total number of partitions.
+ * @return {@code this} for chaining.
*/
- public void setPartitions(int parts) {
+ public RendezvousAffinityFunction setPartitions(int parts) {
A.ensure(parts <= CacheConfiguration.MAX_PARTITIONS_COUNT, "parts <= " + CacheConfiguration.MAX_PARTITIONS_COUNT);
this.parts = parts;
+
+ return this;
}
/**
@@ -256,10 +259,13 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
* @param hashIdRslvr Hash ID resolver.
*
* @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setHashIdResolver(AffinityNodeHashResolver hashIdRslvr) {
+ public RendezvousAffinityFunction setHashIdResolver(AffinityNodeHashResolver hashIdRslvr) {
this.hashIdRslvr = hashIdRslvr;
+
+ return this;
}
/**
@@ -284,10 +290,14 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
*
* @param backupFilter Optional backup filter.
* @deprecated Use {@code affinityBackupFilter} instead.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setBackupFilter(@Nullable IgniteBiPredicate<ClusterNode, ClusterNode> backupFilter) {
+ public RendezvousAffinityFunction setBackupFilter(
+ @Nullable IgniteBiPredicate<ClusterNode, ClusterNode> backupFilter) {
this.backupFilter = backupFilter;
+
+ return this;
}
/**
@@ -311,9 +321,13 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
* Note that {@code affinityBackupFilter} is ignored if {@code excludeNeighbors} is set to {@code true}.
*
* @param affinityBackupFilter Optional backup filter.
+ * @return {@code this} for chaining.
*/
- public void setAffinityBackupFilter(@Nullable IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter) {
+ public RendezvousAffinityFunction setAffinityBackupFilter(
+ @Nullable IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter) {
this.affinityBackupFilter = affinityBackupFilter;
+
+ return this;
}
/**
@@ -333,9 +347,12 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
* Note that {@code backupFilter} is ignored if {@code excludeNeighbors} is set to {@code true}.
*
* @param exclNeighbors {@code True} if nodes residing on the same host may not act as backups of each other.
+ * @return {@code this} for chaining.
*/
- public void setExcludeNeighbors(boolean exclNeighbors) {
+ public RendezvousAffinityFunction setExcludeNeighbors(boolean exclNeighbors) {
this.exclNeighbors = exclNeighbors;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/AbstractEvictionPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/AbstractEvictionPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/AbstractEvictionPolicy.java
index cf0aa1f..d282f27 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/AbstractEvictionPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/AbstractEvictionPolicy.java
@@ -122,11 +122,14 @@ public abstract class AbstractEvictionPolicy<K, V> implements EvictionPolicy<K,
/**
* Sets maximum allowed cache size in bytes.
+ * @return {@code this} for chaining.
*/
- public void setMaxMemorySize(long maxMemSize) {
+ public AbstractEvictionPolicy<K, V> setMaxMemorySize(long maxMemSize) {
A.ensure(maxMemSize >= 0, "maxMemSize >= 0");
this.maxMemSize = maxMemSize;
+
+ return this;
}
/**
@@ -151,11 +154,14 @@ public abstract class AbstractEvictionPolicy<K, V> implements EvictionPolicy<K,
* Sets maximum allowed size of cache before entry will start getting evicted.
*
* @param max Maximum allowed size of cache before entry will start getting evicted.
+ * @return {@code this} for chaining.
*/
- public void setMaxSize(int max) {
+ public AbstractEvictionPolicy<K, V> setMaxSize(int max) {
A.ensure(max >= 0, "max >= 0");
this.max = max;
+
+ return this;
}
/**
@@ -171,11 +177,14 @@ public abstract class AbstractEvictionPolicy<K, V> implements EvictionPolicy<K,
* Sets batch size.
*
* @param batchSize Batch size.
+ * @return {@code this} for chaining.
*/
- public void setBatchSize(int batchSize) {
+ public AbstractEvictionPolicy<K, V> setBatchSize(int batchSize) {
A.ensure(batchSize > 0, "batchSize > 0");
this.batchSize = batchSize;
+
+ return this;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicy.java
index f95a588..68495db 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicy.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import org.apache.ignite.cache.eviction.AbstractEvictionPolicy;
import org.apache.ignite.cache.eviction.EvictableEntry;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.mxbean.IgniteMBeanAware;
import org.jsr166.ConcurrentLinkedDeque8;
import org.jsr166.ConcurrentLinkedDeque8.Node;
@@ -43,7 +44,7 @@ import org.jsr166.ConcurrentLinkedDeque8.Node;
* table-like data structures. The {@code FIFO} ordering information is
* maintained by attaching ordering metadata to cache entries.
*/
-public class FifoEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements FifoEvictionPolicyMBean {
+public class FifoEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements IgniteMBeanAware {
/** */
private static final long serialVersionUID = 0L;
@@ -83,6 +84,27 @@ public class FifoEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> imple
return queue.sizex();
}
+ /** {@inheritDoc} */
+ @Override public FifoEvictionPolicy<K, V> setMaxMemorySize(long maxMemSize) {
+ super.setMaxMemorySize(maxMemSize);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public FifoEvictionPolicy<K, V> setMaxSize(int max) {
+ super.setMaxSize(max);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public FifoEvictionPolicy<K, V> setBatchSize(int batchSize) {
+ super.setBatchSize(batchSize);
+
+ return this;
+ }
+
/**
* Gets read-only view on internal {@code FIFO} queue in proper order.
*
@@ -167,7 +189,57 @@ public class FifoEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> imple
}
/** {@inheritDoc} */
+ @Override public Object getMBean() {
+ return new FifoEvictionPolicyMBeanImpl();
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(FifoEvictionPolicy.class, this);
}
+
+ /**
+ * MBean implementation for FifoEvictionPolicy.
+ */
+ private class FifoEvictionPolicyMBeanImpl implements FifoEvictionPolicyMBean {
+ /** {@inheritDoc} */
+ @Override public long getCurrentMemorySize() {
+ return FifoEvictionPolicy.this.getCurrentMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentSize() {
+ return FifoEvictionPolicy.this.getCurrentSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxSize() {
+ return FifoEvictionPolicy.this.getMaxSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxSize(int max) {
+ FifoEvictionPolicy.this.setMaxSize(max);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getBatchSize() {
+ return FifoEvictionPolicy.this.getBatchSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setBatchSize(int batchSize) {
+ FifoEvictionPolicy.this.setBatchSize(batchSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxMemorySize() {
+ return FifoEvictionPolicy.this.getMaxMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxMemorySize(long maxMemSize) {
+ FifoEvictionPolicy.this.setMaxMemorySize(maxMemSize);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicyMBean.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicyMBean.java
index 2615bbf..06f281f 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicyMBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/FifoEvictionPolicyMBean.java
@@ -74,6 +74,8 @@ public interface FifoEvictionPolicyMBean {
/**
* Sets maximum allowed cache size in bytes.
+ *
+ * @param maxMemSize Maximum memory size.
*/
@MXBeanDescription("Set maximum allowed cache size in bytes.")
public void setMaxMemorySize(long maxMemSize);
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/igfs/IgfsPerBlockLruEvictionPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/igfs/IgfsPerBlockLruEvictionPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/igfs/IgfsPerBlockLruEvictionPolicy.java
index a82d541..df3c73f 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/igfs/IgfsPerBlockLruEvictionPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/igfs/IgfsPerBlockLruEvictionPolicy.java
@@ -33,6 +33,7 @@ import org.apache.ignite.cache.eviction.EvictionPolicy;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.internal.processors.cache.CacheEvictableEntryImpl;
import org.apache.ignite.internal.processors.igfs.IgfsBlockKey;
+import org.apache.ignite.mxbean.IgniteMBeanAware;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentLinkedDeque8;
import org.jsr166.ConcurrentLinkedDeque8.Node;
@@ -41,8 +42,8 @@ import org.jsr166.LongAdder8;
/**
* IGFS eviction policy which evicts particular blocks.
*/
-public class IgfsPerBlockLruEvictionPolicy implements EvictionPolicy<IgfsBlockKey, byte[]>,
- IgfsPerBlockLruEvictionPolicyMXBean, Externalizable {
+public class IgfsPerBlockLruEvictionPolicy implements EvictionPolicy<IgfsBlockKey, byte[]>, IgniteMBeanAware,
+ Externalizable {
/** */
private static final long serialVersionUID = 0L;
@@ -237,49 +238,98 @@ public class IgfsPerBlockLruEvictionPolicy implements EvictionPolicy<IgfsBlockKe
curSize.add(delta);
}
- /** {@inheritDoc} */
- @Override public long getMaxSize() {
+ /**
+ * Gets maximum allowed size of all blocks in bytes.
+ *
+ * @return Maximum allowed size of all blocks in bytes.
+ */
+ public long getMaxSize() {
return maxSize;
}
- /** {@inheritDoc} */
- @Override public void setMaxSize(long maxSize) {
+ /**
+ * Sets maximum allowed size of data in all blocks in bytes.
+ *
+ * @param maxSize Maximum allowed size of data in all blocks in bytes.
+ *
+ * @return {@code this} for chaining.
+ */
+ public IgfsPerBlockLruEvictionPolicy setMaxSize(long maxSize) {
this.maxSize = maxSize;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public int getMaxBlocks() {
+ /**
+ * Gets maximum allowed amount of blocks.
+ *
+ * @return Maximum allowed amount of blocks.
+ */
+ public int getMaxBlocks() {
return maxBlocks;
}
- /** {@inheritDoc} */
- @Override public void setMaxBlocks(int maxBlocks) {
+ /**
+ * Sets maximum allowed amount of blocks.
+ *
+ * @param maxBlocks Maximum allowed amount of blocks.
+ *
+ * @return {@code this} for chaining.
+ */
+ public IgfsPerBlockLruEvictionPolicy setMaxBlocks(int maxBlocks) {
this.maxBlocks = maxBlocks;
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public Collection<String> getExcludePaths() {
+ /**
+ * Gets collection of regex for paths whose blocks must not be evicted.
+ *
+ * @return Collection of regex for paths whose blocks must not be evicted.
+ */
+ public Collection<String> getExcludePaths() {
return Collections.unmodifiableCollection(excludePaths);
}
- /** {@inheritDoc} */
- @Override public void setExcludePaths(@Nullable Collection<String> excludePaths) {
+ /**
+ * Sets collection of regex for paths whose blocks must not be evicted.
+ *
+ * @param excludePaths Collection of regex for paths whose blocks must not be evicted.
+ *
+ * @return {@code this} for chaining.
+ */
+ public IgfsPerBlockLruEvictionPolicy setExcludePaths(@Nullable Collection<String> excludePaths) {
this.excludePaths = excludePaths;
excludeRecompile.set(true);
+
+ return this;
}
- /** {@inheritDoc} */
- @Override public long getCurrentSize() {
+ /**
+ * Gets current size of data in all blocks.
+ *
+ * @return Current size of data in all blocks.
+ */
+ public long getCurrentSize() {
return curSize.longValue();
}
- /** {@inheritDoc} */
- @Override public int getCurrentBlocks() {
+ /**
+ * Gets current amount of blocks.
+ *
+ * @return Current amount of blocks.
+ */
+ public int getCurrentBlocks() {
return queue.size();
}
/** {@inheritDoc} */
+ @Override public Object getMBean() {
+ return new IgfsPerBlockLruEvictionPolicyMXBeanImpl();
+ }
+
+ /** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
out.writeLong(maxSize);
out.writeInt(maxBlocks);
@@ -381,4 +431,49 @@ public class IgfsPerBlockLruEvictionPolicy implements EvictionPolicy<IgfsBlockKe
return size;
}
}
+
+ /**
+ * MBean implementation for IgfsPerBlockLruEvictionPolicy.
+ */
+ private class IgfsPerBlockLruEvictionPolicyMXBeanImpl implements IgfsPerBlockLruEvictionPolicyMXBean {
+ /** {@inheritDoc} */
+ @Override public long getMaxSize() {
+ return IgfsPerBlockLruEvictionPolicy.this.getMaxSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxSize(long maxSize) {
+ IgfsPerBlockLruEvictionPolicy.this.setMaxSize(maxSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxBlocks() {
+ return IgfsPerBlockLruEvictionPolicy.this.getMaxBlocks();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxBlocks(int maxBlocks) {
+ IgfsPerBlockLruEvictionPolicy.this.setMaxBlocks(maxBlocks);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public Collection<String> getExcludePaths() {
+ return IgfsPerBlockLruEvictionPolicy.this.getExcludePaths();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setExcludePaths(@Nullable Collection<String> excludePaths) {
+ IgfsPerBlockLruEvictionPolicy.this.setExcludePaths(excludePaths);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getCurrentSize() {
+ return IgfsPerBlockLruEvictionPolicy.this.getCurrentSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentBlocks() {
+ return IgfsPerBlockLruEvictionPolicy.this.getCurrentBlocks();
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.java
index 17835f1..d571e8c 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import org.apache.ignite.cache.eviction.AbstractEvictionPolicy;
import org.apache.ignite.cache.eviction.EvictableEntry;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.mxbean.IgniteMBeanAware;
import org.jsr166.ConcurrentLinkedDeque8;
import org.jsr166.ConcurrentLinkedDeque8.Node;
@@ -42,7 +43,7 @@ import org.jsr166.ConcurrentLinkedDeque8.Node;
* This implementation is very efficient since it is lock-free and does not create any additional table-like
* data structures. The {@code LRU} ordering information is maintained by attaching ordering metadata to cache entries.
*/
-public class LruEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements LruEvictionPolicyMBean {
+public class LruEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements IgniteMBeanAware {
/** */
private static final long serialVersionUID = 0L;
@@ -71,6 +72,27 @@ public class LruEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implem
return queue.sizex();
}
+ /** {@inheritDoc} */
+ @Override public LruEvictionPolicy<K, V> setMaxMemorySize(long maxMemSize) {
+ super.setMaxMemorySize(maxMemSize);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public LruEvictionPolicy<K, V> setMaxSize(int max) {
+ super.setMaxSize(max);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public LruEvictionPolicy<K, V> setBatchSize(int batchSize) {
+ super.setBatchSize(batchSize);
+
+ return this;
+ }
+
/**
* Gets read-only view on internal {@code FIFO} queue in proper order.
*
@@ -163,7 +185,57 @@ public class LruEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implem
}
/** {@inheritDoc} */
+ @Override public Object getMBean() {
+ return new LruEvictionPolicyMBeanImpl();
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(LruEvictionPolicy.class, this, "size", getCurrentSize());
}
+
+ /**
+ * MBean implementation for LruEvictionPolicy.
+ */
+ private class LruEvictionPolicyMBeanImpl implements LruEvictionPolicyMBean {
+ /** {@inheritDoc} */
+ @Override public long getCurrentMemorySize() {
+ return LruEvictionPolicy.this.getCurrentMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentSize() {
+ return LruEvictionPolicy.this.getCurrentSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxSize() {
+ return LruEvictionPolicy.this.getMaxSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxSize(int max) {
+ LruEvictionPolicy.this.setMaxSize(max);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getBatchSize() {
+ return LruEvictionPolicy.this.getBatchSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setBatchSize(int batchSize) {
+ LruEvictionPolicy.this.setBatchSize(batchSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxMemorySize() {
+ return LruEvictionPolicy.this.getMaxMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxMemorySize(long maxMemSize) {
+ LruEvictionPolicy.this.setMaxMemorySize(maxMemSize);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/cache/eviction/sorted/SortedEvictionPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/eviction/sorted/SortedEvictionPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/eviction/sorted/SortedEvictionPolicy.java
index d0cc975..4b8ac2b 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/eviction/sorted/SortedEvictionPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/eviction/sorted/SortedEvictionPolicy.java
@@ -32,6 +32,7 @@ import org.apache.ignite.cache.eviction.AbstractEvictionPolicy;
import org.apache.ignite.cache.eviction.EvictableEntry;
import org.apache.ignite.internal.util.GridConcurrentSkipListSet;
import org.apache.ignite.internal.util.typedef.internal.A;
+import org.apache.ignite.mxbean.IgniteMBeanAware;
import org.jetbrains.annotations.Nullable;
import org.jsr166.LongAdder8;
@@ -58,7 +59,7 @@ import static org.apache.ignite.configuration.CacheConfiguration.DFLT_CACHE_SIZE
* <p>
* User defined comparator should implement {@link Serializable} interface.
*/
-public class SortedEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements SortedEvictionPolicyMBean {
+public class SortedEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> implements IgniteMBeanAware {
/** */
private static final long serialVersionUID = 0L;
@@ -122,6 +123,27 @@ public class SortedEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> imp
this.set = new GridConcurrentSkipListSetEx<>(this.comp);
}
+ /** {@inheritDoc} */
+ @Override public SortedEvictionPolicy<K, V> setMaxMemorySize(long maxMemSize) {
+ super.setMaxMemorySize(maxMemSize);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public SortedEvictionPolicy<K, V> setMaxSize(int max) {
+ super.setMaxSize(max);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public SortedEvictionPolicy<K, V> setBatchSize(int batchSize) {
+ super.setBatchSize(batchSize);
+
+ return this;
+ }
+
/**
* Gets read-only view of backed queue in proper order.
*
@@ -210,6 +232,11 @@ public class SortedEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> imp
}
/** {@inheritDoc} */
+ @Override public Object getMBean() {
+ return new SortedEvictionPolicyMBeanImpl();
+ }
+
+ /** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
super.writeExternal(out);
@@ -401,4 +428,49 @@ public class SortedEvictionPolicy<K, V> extends AbstractEvictionPolicy<K, V> imp
return e;
}
}
+
+ /**
+ * MBean implementation for SortedEvictionPolicy.
+ */
+ private class SortedEvictionPolicyMBeanImpl implements SortedEvictionPolicyMBean {
+ /** {@inheritDoc} */
+ @Override public long getCurrentMemorySize() {
+ return SortedEvictionPolicy.this.getCurrentMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentSize() {
+ return SortedEvictionPolicy.this.getCurrentSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxSize() {
+ return SortedEvictionPolicy.this.getMaxSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxSize(int max) {
+ SortedEvictionPolicy.this.setMaxSize(max);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getBatchSize() {
+ return SortedEvictionPolicy.this.getBatchSize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setBatchSize(int batchSize) {
+ SortedEvictionPolicy.this.setBatchSize(batchSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaxMemorySize() {
+ return SortedEvictionPolicy.this.getMaxMemorySize();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void setMaxMemorySize(long maxMemSize) {
+ SortedEvictionPolicy.this.setMaxMemorySize(maxMemSize);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/AtomicConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/AtomicConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/AtomicConfiguration.java
index 6649b5e..573e803 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/AtomicConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/AtomicConfiguration.java
@@ -54,9 +54,12 @@ public class AtomicConfiguration {
/**
* @param backups Number of backup nodes.
+ * @return {@code this} for chaining.
*/
- public void setBackups(int backups) {
+ public AtomicConfiguration setBackups(int backups) {
this.backups = backups;
+
+ return this;
}
/**
@@ -68,9 +71,12 @@ public class AtomicConfiguration {
/**
* @param cacheMode Cache mode.
+ * @return {@code this} for chaining.
*/
- public void setCacheMode(CacheMode cacheMode) {
+ public AtomicConfiguration setCacheMode(CacheMode cacheMode) {
this.cacheMode = cacheMode;
+
+ return this;
}
/**
@@ -93,9 +99,12 @@ public class AtomicConfiguration {
*
* @param seqReserveSize Atomic sequence reservation size.
* @see #getAtomicSequenceReserveSize()
+ * @return {@code this} for chaining.
*/
- public void setAtomicSequenceReserveSize(int seqReserveSize) {
+ public AtomicConfiguration setAtomicSequenceReserveSize(int seqReserveSize) {
this.seqReserveSize = seqReserveSize;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/BinaryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/BinaryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/BinaryConfiguration.java
index 30d77de..54bfc40 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/BinaryConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/BinaryConfiguration.java
@@ -52,13 +52,16 @@ public class BinaryConfiguration {
* Sets class names of binary objects explicitly.
*
* @param clsNames Class names.
+ * @return {@code this} for chaining.
*/
- public void setClassNames(Collection<String> clsNames) {
+ public BinaryConfiguration setClassNames(Collection<String> clsNames) {
if (typeCfgs == null)
typeCfgs = new ArrayList<>(clsNames.size());
for (String clsName : clsNames)
typeCfgs.add(new BinaryTypeConfiguration(clsName));
+
+ return this;
}
/**
@@ -74,9 +77,12 @@ public class BinaryConfiguration {
* Sets ID mapper.
*
* @param idMapper ID mapper.
+ * @return {@code this} for chaining.
*/
- public void setIdMapper(BinaryIdMapper idMapper) {
+ public BinaryConfiguration setIdMapper(BinaryIdMapper idMapper) {
this.idMapper = idMapper;
+
+ return this;
}
/**
@@ -92,9 +98,12 @@ public class BinaryConfiguration {
* Sets name mapper.
*
* @param nameMapper Name mapper.
+ * @return {@code this} for chaining.
*/
- public void setNameMapper(BinaryNameMapper nameMapper) {
+ public BinaryConfiguration setNameMapper(BinaryNameMapper nameMapper) {
this.nameMapper = nameMapper;
+
+ return this;
}
/**
@@ -110,9 +119,12 @@ public class BinaryConfiguration {
* Sets serializer.
*
* @param serializer Serializer.
+ * @return {@code this} for chaining.
*/
- public void setSerializer(BinarySerializer serializer) {
+ public BinaryConfiguration setSerializer(BinarySerializer serializer) {
this.serializer = serializer;
+
+ return this;
}
/**
@@ -128,9 +140,12 @@ public class BinaryConfiguration {
* Sets type configurations.
*
* @param typeCfgs Type configurations.
+ * @return {@code this} for chaining.
*/
- public void setTypeConfigurations(Collection<BinaryTypeConfiguration> typeCfgs) {
+ public BinaryConfiguration setTypeConfigurations(Collection<BinaryTypeConfiguration> typeCfgs) {
this.typeCfgs = typeCfgs;
+
+ return this;
}
/**
@@ -155,9 +170,12 @@ public class BinaryConfiguration {
* Set whether to write footers in compact form. See {@link #isCompactFooter()} for more info.
*
* @param compactFooter Whether to write footers in compact form.
+ * @return {@code this} for chaining.
*/
- public void setCompactFooter(boolean compactFooter) {
+ public BinaryConfiguration setCompactFooter(boolean compactFooter) {
this.compactFooter = compactFooter;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index a47f07c..c4fc98b 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -40,6 +40,8 @@ import javax.cache.configuration.CompleteConfiguration;
import javax.cache.configuration.Factory;
import javax.cache.configuration.MutableConfiguration;
import javax.cache.expiry.ExpiryPolicy;
+import javax.cache.integration.CacheLoader;
+import javax.cache.integration.CacheWriter;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
@@ -940,9 +942,12 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> {
* Sets keep binary in store flag.
*
* @param storeKeepBinary Keep binary in store flag.
+ * @return {@code this} for chaining.
*/
- public void setStoreKeepBinary(boolean storeKeepBinary) {
+ public CacheConfiguration<K, V> setStoreKeepBinary(boolean storeKeepBinary) {
this.storeKeepBinary = storeKeepBinary;
+
+ return this;
}
/**
@@ -2474,6 +2479,70 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> {
}
/** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setStatisticsEnabled(boolean enabled) {
+ super.setStatisticsEnabled(enabled);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setManagementEnabled(boolean enabled) {
+ super.setManagementEnabled(enabled);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setCacheLoaderFactory(Factory<? extends CacheLoader<K, V>> factory) {
+ super.setCacheLoaderFactory(factory);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setCacheWriterFactory(
+ Factory<? extends CacheWriter<? super K, ? super V>> factory) {
+ super.setCacheWriterFactory(factory);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setExpiryPolicyFactory(Factory<? extends ExpiryPolicy> factory) {
+ super.setExpiryPolicyFactory(factory);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setTypes(Class<K> keyType, Class<V> valueType) {
+ super.setTypes(keyType, valueType);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setReadThrough(boolean isReadThrough) {
+ super.setReadThrough(isReadThrough);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setWriteThrough(boolean isWriteThrough) {
+ super.setWriteThrough(isWriteThrough);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheConfiguration<K, V> setStoreByValue(boolean isStoreByValue) {
+ super.setStoreByValue(isStoreByValue);
+
+ return this;
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(CacheConfiguration.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/CollectionConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CollectionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CollectionConfiguration.java
index 5ea5074..7b79c58 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CollectionConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CollectionConfiguration.java
@@ -68,9 +68,13 @@ public class CollectionConfiguration implements Serializable {
* @param collocated If {@code true} then all items within the same collection will be collocated on the same node.
* Otherwise elements of the same set maybe be cached on different nodes. This parameter works only
* collections stored in {@link CacheMode#PARTITIONED} cache.
+ *
+ * @return {@code this} for chaining.
*/
- public void setCollocated(boolean collocated) {
+ public CollectionConfiguration setCollocated(boolean collocated) {
this.collocated = collocated;
+
+ return this;
}
/**
@@ -82,9 +86,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param atomicityMode Cache atomicity mode.
+ * @return {@code this} for chaining.
*/
- public void setAtomicityMode(CacheAtomicityMode atomicityMode) {
+ public CollectionConfiguration setAtomicityMode(CacheAtomicityMode atomicityMode) {
this.atomicityMode = atomicityMode;
+
+ return this;
}
/**
@@ -96,9 +103,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param cacheMode Cache mode.
+ * @return {@code this} for chaining.
*/
- public void setCacheMode(CacheMode cacheMode) {
+ public CollectionConfiguration setCacheMode(CacheMode cacheMode) {
this.cacheMode = cacheMode;
+
+ return this;
}
/**
@@ -110,9 +120,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param memoryMode Memory mode.
+ * @return {@code this} for chaining.
*/
- public void setMemoryMode(CacheMemoryMode memoryMode) {
+ public CollectionConfiguration setMemoryMode(CacheMemoryMode memoryMode) {
this.memoryMode = memoryMode;
+
+ return this;
}
/**
@@ -124,9 +137,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param nodeFilter Predicate specifying on which nodes the cache should be started.
+ * @return {@code this} for chaining.
*/
- public void setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) {
+ public CollectionConfiguration setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) {
this.nodeFilter = nodeFilter;
+
+ return this;
}
/**
@@ -138,9 +154,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param backups Cache number of backups.
+ * @return {@code this} for chaining.
*/
- public void setBackups(int backups) {
+ public CollectionConfiguration setBackups(int backups) {
this.backups = backups;
+
+ return this;
}
/**
@@ -152,9 +171,12 @@ public class CollectionConfiguration implements Serializable {
/**
* @param offHeapMaxMemory Off-heap memory size.
+ * @return {@code this} for chaining.
*/
- public void setOffHeapMaxMemory(long offHeapMaxMemory) {
+ public CollectionConfiguration setOffHeapMaxMemory(long offHeapMaxMemory) {
this.offHeapMaxMem = offHeapMaxMemory;
+
+ return this;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/ConnectorConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/ConnectorConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/ConnectorConfiguration.java
index 6e33b9c..0ee1388 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/ConnectorConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/ConnectorConfiguration.java
@@ -169,9 +169,12 @@ public class ConnectorConfiguration {
* accessing Ignite APIs remotely.
*
* @param jettyPath Path to {@code JETTY} XML configuration file.
+ * @return {@code this} for chaining.
*/
- public void setJettyPath(String jettyPath) {
+ public ConnectorConfiguration setJettyPath(String jettyPath) {
this.jettyPath = jettyPath;
+
+ return this;
}
/**
@@ -195,9 +198,12 @@ public class ConnectorConfiguration {
* Sets secret key to authenticate REST requests. If key is {@code null} or empty authentication is disabled.
*
* @param secretKey REST secret key.
+ * @return {@code this} for chaining.
*/
- public void setSecretKey(@Nullable String secretKey) {
+ public ConnectorConfiguration setSecretKey(@Nullable String secretKey) {
this.secretKey = secretKey;
+
+ return this;
}
/**
@@ -231,9 +237,12 @@ public class ConnectorConfiguration {
* Sets host for TCP binary protocol server.
*
* @param host TCP host.
+ * @return {@code this} for chaining.
*/
- public void setHost(String host) {
+ public ConnectorConfiguration setHost(String host) {
this.host = host;
+
+ return this;
}
/**
@@ -251,9 +260,12 @@ public class ConnectorConfiguration {
* Sets port for TCP binary protocol server.
*
* @param port TCP port.
+ * @return {@code this} for chaining.
*/
- public void setPort(int port) {
+ public ConnectorConfiguration setPort(int port) {
this.port = port;
+
+ return this;
}
/**
@@ -274,9 +286,12 @@ public class ConnectorConfiguration {
*
* @param noDelay {@code True} if option should be enabled.
* @see #isNoDelay()
+ * @return {@code this} for chaining.
*/
- public void setNoDelay(boolean noDelay) {
+ public ConnectorConfiguration setNoDelay(boolean noDelay) {
this.noDelay = noDelay;
+
+ return this;
}
/**
@@ -296,9 +311,12 @@ public class ConnectorConfiguration {
*
* @param directBuf {@code True} if option should be enabled.
* @see #isDirectBuffer()
+ * @return {@code this} for chaining.
*/
- public void setDirectBuffer(boolean directBuf) {
+ public ConnectorConfiguration setDirectBuffer(boolean directBuf) {
this.directBuf = directBuf;
+
+ return this;
}
/**
@@ -315,9 +333,12 @@ public class ConnectorConfiguration {
*
* @param sndBufSize Send buffer size.
* @see #getSendBufferSize()
+ * @return {@code this} for chaining.
*/
- public void setSendBufferSize(int sndBufSize) {
+ public ConnectorConfiguration setSendBufferSize(int sndBufSize) {
this.sndBufSize = sndBufSize;
+
+ return this;
}
/**
@@ -334,9 +355,12 @@ public class ConnectorConfiguration {
*
* @param rcvBufSize Receive buffer size.
* @see #getReceiveBufferSize()
+ * @return {@code this} for chaining.
*/
- public void setReceiveBufferSize(int rcvBufSize) {
+ public ConnectorConfiguration setReceiveBufferSize(int rcvBufSize) {
this.rcvBufSize = rcvBufSize;
+
+ return this;
}
/**
@@ -354,9 +378,12 @@ public class ConnectorConfiguration {
*
* @param sndQueueLimit REST TCP server send queue limit (0 for unlimited).
* @see #getSendQueueLimit()
+ * @return {@code this} for chaining.
*/
- public void setSendQueueLimit(int sndQueueLimit) {
+ public ConnectorConfiguration setSendQueueLimit(int sndQueueLimit) {
this.sndQueueLimit = sndQueueLimit;
+
+ return this;
}
/**
@@ -374,9 +401,12 @@ public class ConnectorConfiguration {
*
* @param selectorCnt Number of selector threads for REST TCP server.
* @see #getSelectorCount()
+ * @return {@code this} for chaining.
*/
- public void setSelectorCount(int selectorCnt) {
+ public ConnectorConfiguration setSelectorCount(int selectorCnt) {
this.selectorCnt = selectorCnt;
+
+ return this;
}
/**
@@ -396,9 +426,12 @@ public class ConnectorConfiguration {
*
* @param idleTimeout Idle timeout in milliseconds.
* @see #getIdleTimeout()
+ * @return {@code this} for chaining.
*/
- public void setIdleTimeout(long idleTimeout) {
+ public ConnectorConfiguration setIdleTimeout(long idleTimeout) {
this.idleTimeout = idleTimeout;
+
+ return this;
}
/**
@@ -420,9 +453,12 @@ public class ConnectorConfiguration {
* should be provided in {@link IgniteConfiguration}. Otherwise, TCP binary protocol will fail to start.
*
* @param sslEnabled {@code True} if SSL should be enabled.
+ * @return {@code this} for chaining.
*/
- public void setSslEnabled(boolean sslEnabled) {
+ public ConnectorConfiguration setSslEnabled(boolean sslEnabled) {
this.sslEnabled = sslEnabled;
+
+ return this;
}
/**
@@ -439,9 +475,12 @@ public class ConnectorConfiguration {
* Sets flag indicating whether or not SSL client authentication is required.
*
* @param sslClientAuth Whether or not client authentication is required.
+ * @return {@code this} for chaining.
*/
- public void setSslClientAuth(boolean sslClientAuth) {
+ public ConnectorConfiguration setSslClientAuth(boolean sslClientAuth) {
this.sslClientAuth = sslClientAuth;
+
+ return this;
}
/**
@@ -463,10 +502,13 @@ public class ConnectorConfiguration {
*
* @param sslCtxFactory Instance of {@link GridSslContextFactory}
* @deprecated Use {@link #setSslFactory(Factory)} instead.
+ * @return {@code this} for chaining.
*/
@Deprecated
- public void setSslContextFactory(GridSslContextFactory sslCtxFactory) {
+ public ConnectorConfiguration setSslContextFactory(GridSslContextFactory sslCtxFactory) {
this.sslCtxFactory = sslCtxFactory;
+
+ return this;
}
/**
@@ -485,9 +527,12 @@ public class ConnectorConfiguration {
* {@link #setSslEnabled(boolean)} is set to {@code true}.
*
* @param sslFactory Instance of {@link Factory}
+ * @return {@code this} for chaining.
*/
- public void setSslFactory(Factory<SSLContext> sslFactory) {
+ public ConnectorConfiguration setSslFactory(Factory<SSLContext> sslFactory) {
this.sslFactory = sslFactory;
+
+ return this;
}
/**
@@ -506,9 +551,12 @@ public class ConnectorConfiguration {
* Sets number of ports to try if configured one is in use.
*
* @param portRange Port range.
+ * @return {@code this} for chaining.
*/
- public void setPortRange(int portRange) {
+ public ConnectorConfiguration setPortRange(int portRange) {
this.portRange = portRange;
+
+ return this;
}
/**
@@ -527,9 +575,12 @@ public class ConnectorConfiguration {
*
* @param threadPoolSize Thread pool size to use for processing of client messages.
* @see #getThreadPoolSize()
+ * @return {@code this} for chaining.
*/
- public void setThreadPoolSize(int threadPoolSize) {
+ public ConnectorConfiguration setThreadPoolSize(int threadPoolSize) {
this.threadPoolSize = threadPoolSize;
+
+ return this;
}
/**
@@ -559,9 +610,12 @@ public class ConnectorConfiguration {
* access them from java code directly.
*
* @param interceptor Interceptor.
+ * @return {@code this} for chaining.
*/
- public void setMessageInterceptor(ConnectorMessageInterceptor interceptor) {
+ public ConnectorConfiguration setMessageInterceptor(ConnectorMessageInterceptor interceptor) {
msgInterceptor = interceptor;
+
+ return this;
}
/**
@@ -569,9 +623,12 @@ public class ConnectorConfiguration {
*
* @param idleQryCurTimeout Idle query cursors timeout in milliseconds.
* @see #getIdleQueryCursorTimeout()
+ * @return {@code this} for chaining.
*/
- public void setIdleQueryCursorTimeout(long idleQryCurTimeout) {
+ public ConnectorConfiguration setIdleQueryCursorTimeout(long idleQryCurTimeout) {
this.idleQryCurTimeout = idleQryCurTimeout;
+
+ return this;
}
/**
@@ -592,9 +649,12 @@ public class ConnectorConfiguration {
*
* @param idleQryCurCheckFreq Idle query check frequency in milliseconds.
* @see #getIdleQueryCursorCheckFrequency()
+ * @return {@code this} for chaining.
*/
- public void setIdleQueryCursorCheckFrequency(long idleQryCurCheckFreq) {
+ public ConnectorConfiguration setIdleQueryCursorCheckFrequency(long idleQryCurCheckFreq) {
this.idleQryCurCheckFreq = idleQryCurCheckFreq;
+
+ return this;
}
/**