This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new cc9a0c0 Optimize Constructor (#8414)
cc9a0c0 is described below
commit cc9a0c09d1b8ef1fa289e771c35f574ebd704f2e
Author: 邱鹿 Lucas <[email protected]>
AuthorDate: Mon Nov 30 12:12:04 2020 +0800
Optimize Constructor (#8414)
* Optimize Constructor
* Optimize Constructor
Co-authored-by: qiulu3 <Lucas209910>
---
.../scaling/core/config/RuleConfiguration.java | 10 +++----
.../scaling/core/job/ShardingScalingJob.java | 32 +++++++++++-----------
.../service/impl/DistributedScalingJobService.java | 2 +-
3 files changed, 21 insertions(+), 23 deletions(-)
diff --git
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/RuleConfiguration.java
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/RuleConfiguration.java
index 0db801f..2c1a60a 100644
---
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/RuleConfiguration.java
+++
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/RuleConfiguration.java
@@ -21,9 +21,8 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
-import lombok.AllArgsConstructor;
import lombok.Getter;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.scaling.core.config.datasource.DataSourceConfiguration;
import
org.apache.shardingsphere.scaling.core.config.datasource.ShardingSphereJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.scaling.core.config.datasource.StandardJDBCDataSourceConfiguration;
@@ -45,13 +44,12 @@ public final class RuleConfiguration {
this.target = new
DataSourceConfigurationWrapper(target.getConfigType(), new
Gson().toJsonTree(target));
}
- @NoArgsConstructor
- @AllArgsConstructor
+ @RequiredArgsConstructor
public static class DataSourceConfigurationWrapper {
- private String type;
+ private final String type;
- private JsonElement parameter;
+ private final JsonElement parameter;
/**
* Unwrap to {@code DataSourceConfiguration}.
diff --git
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/ShardingScalingJob.java
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/ShardingScalingJob.java
index 40788b4..4e022ac 100644
---
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/ShardingScalingJob.java
+++
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/ShardingScalingJob.java
@@ -29,6 +29,7 @@ import
org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateA
import java.util.LinkedList;
import java.util.List;
+import java.util.Optional;
/**
* Sharding scaling out job.
@@ -37,7 +38,7 @@ import java.util.List;
@Setter
public final class ShardingScalingJob {
- private static SnowflakeKeyGenerateAlgorithm idAutoIncreaseGenerator;
+ private static final SnowflakeKeyGenerateAlgorithm
ID_AUTO_INCREASE_GENERATOR = initIdAutoIncreaseGenerator();
private long jobId;
@@ -56,28 +57,27 @@ public final class ShardingScalingJob {
private String status = SyncTaskControlStatus.RUNNING.name();
public ShardingScalingJob() {
- initIdAutoIncreaseGenerator();
- jobId = (Long) idAutoIncreaseGenerator.generateKey();
+ this(generateKey());
+ }
+
+ public ShardingScalingJob(final long jobId) {
+ this.jobId = jobId;
}
public ShardingScalingJob(final ScalingConfiguration scalingConfig) {
- this();
+
this(Optional.ofNullable(scalingConfig.getJobConfiguration().getJobId()).orElse(generateKey()));
this.scalingConfig = scalingConfig;
- jobId = null != scalingConfig.getJobConfiguration().getJobId() ?
scalingConfig.getJobConfiguration().getJobId() : jobId;
shardingItem = scalingConfig.getJobConfiguration().getShardingItem();
syncConfigs.addAll(SyncConfigurationUtil.toSyncConfigs(scalingConfig));
}
- private static void initIdAutoIncreaseGenerator() {
- if (null != idAutoIncreaseGenerator) {
- return;
- }
- synchronized (ShardingScalingJob.class) {
- if (null != idAutoIncreaseGenerator) {
- return;
- }
- idAutoIncreaseGenerator = new SnowflakeKeyGenerateAlgorithm();
- idAutoIncreaseGenerator.init();
- }
+ private static SnowflakeKeyGenerateAlgorithm initIdAutoIncreaseGenerator()
{
+ SnowflakeKeyGenerateAlgorithm result = new
SnowflakeKeyGenerateAlgorithm();
+ result.init();
+ return result;
+ }
+
+ private static Long generateKey() {
+ return (Long) ID_AUTO_INCREASE_GENERATOR.generateKey();
}
}
diff --git
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/service/impl/DistributedScalingJobService.java
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/service/impl/DistributedScalingJobService.java
index c3bc7db..928d983 100644
---
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/service/impl/DistributedScalingJobService.java
+++
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/service/impl/DistributedScalingJobService.java
@@ -76,7 +76,7 @@ public final class DistributedScalingJobService extends
AbstractScalingJobServic
@Override
public ShardingScalingJob getJob(final long jobId) {
- ShardingScalingJob result = new ShardingScalingJob();
+ ShardingScalingJob result = new ShardingScalingJob(jobId);
result.setScalingConfig(GSON.fromJson(REGISTRY_REPOSITORY.get(ScalingTaskUtil.getScalingListenerPath(jobId,
ScalingConstant.CONFIG)), ScalingConfiguration.class));
return result;
}