mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-20 05:27:15 +00:00
Java 11 migrate all remaining s (#1120)
* Moves saga to Java 11 * Moves semaphore to Java 11 * Moves servant to Java 11 * Moves serverless to Java 11 * Moves service-layer to Java 11 * Moves service-locator to Java 11 * Moves sharding to Java 11 * Moves singleton to Java 11 * Moves spatial-partition to Java 11 * Moves specification to Java 11 * Moves state to Java 11 * Moves step-builder to Java 11 * Moves strategy to Java 11 * Moves subclass-sandbox to Java 11 * Fixes checkstyle issues
This commit is contained in:
committed by
Ilkka Seppälä
parent
310ae50248
commit
cd2a2e7711
@@ -24,14 +24,14 @@
|
||||
package com.iluwatar.sharding;
|
||||
|
||||
/**
|
||||
* Sharding pattern means dividing a data store into a set of horizontal partitions
|
||||
* or shards. This pattern can improve scalability when storing and accessing large
|
||||
* volumes of data.
|
||||
* Sharding pattern means dividing a data store into a set of horizontal partitions or shards. This
|
||||
* pattern can improve scalability when storing and accessing large volumes of data.
|
||||
*/
|
||||
public class App {
|
||||
|
||||
/**
|
||||
* Program main entry point.
|
||||
*
|
||||
* @param args program runtime arguments
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
@@ -45,7 +45,7 @@ public class App {
|
||||
var shard2 = new Shard(2);
|
||||
var shard3 = new Shard(3);
|
||||
|
||||
ShardManager manager = new LookupShardManager();
|
||||
var manager = new LookupShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
@@ -58,27 +58,27 @@ public class App {
|
||||
shard2.clearData();
|
||||
shard3.clearData();
|
||||
|
||||
manager = new RangeShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
manager.storeData(data1);
|
||||
manager.storeData(data2);
|
||||
manager.storeData(data3);
|
||||
manager.storeData(data4);
|
||||
var rangeShardManager = new RangeShardManager();
|
||||
rangeShardManager.addNewShard(shard1);
|
||||
rangeShardManager.addNewShard(shard2);
|
||||
rangeShardManager.addNewShard(shard3);
|
||||
rangeShardManager.storeData(data1);
|
||||
rangeShardManager.storeData(data2);
|
||||
rangeShardManager.storeData(data3);
|
||||
rangeShardManager.storeData(data4);
|
||||
|
||||
shard1.clearData();
|
||||
shard2.clearData();
|
||||
shard3.clearData();
|
||||
|
||||
manager = new HashShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
manager.storeData(data1);
|
||||
manager.storeData(data2);
|
||||
manager.storeData(data3);
|
||||
manager.storeData(data4);
|
||||
var hashShardManager = new HashShardManager();
|
||||
hashShardManager.addNewShard(shard1);
|
||||
hashShardManager.addNewShard(shard2);
|
||||
hashShardManager.addNewShard(shard3);
|
||||
hashShardManager.storeData(data1);
|
||||
hashShardManager.storeData(data2);
|
||||
hashShardManager.storeData(data3);
|
||||
hashShardManager.storeData(data4);
|
||||
|
||||
shard1.clearData();
|
||||
shard2.clearData();
|
||||
|
||||
@@ -58,8 +58,7 @@ public class LookupShardManager extends ShardManager {
|
||||
return lookupMap.get(key);
|
||||
} else {
|
||||
var shardCount = shardMap.size();
|
||||
var allocatedShardId = new Random().nextInt(shardCount - 1) + 1;
|
||||
return allocatedShardId;
|
||||
return new Random().nextInt(shardCount - 1) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* ShardManager with range strategy. This strategy groups related items together
|
||||
* in the same shard, and orders them by shard key.
|
||||
* ShardManager with range strategy. This strategy groups related items together in the same shard,
|
||||
* and orders them by shard key.
|
||||
*/
|
||||
public class RangeShardManager extends ShardManager {
|
||||
|
||||
@@ -46,21 +46,16 @@ public class RangeShardManager extends ShardManager {
|
||||
@Override
|
||||
protected int allocateShard(Data data) {
|
||||
var type = data.getType();
|
||||
var shardId = -1;
|
||||
switch (type) {
|
||||
case type1:
|
||||
shardId = 1;
|
||||
break;
|
||||
return 1;
|
||||
case type2:
|
||||
shardId = 2;
|
||||
break;
|
||||
return 2;
|
||||
case type3:
|
||||
shardId = 3;
|
||||
break;
|
||||
return 3;
|
||||
default:
|
||||
break;
|
||||
return -1;
|
||||
}
|
||||
return shardId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user