This is an automated email from the ASF dual-hosted git repository.
panjuan 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 1945d85e786 Refactor RuleChangedSubscriber (#26747)
1945d85e786 is described below
commit 1945d85e786d918de052223a2839cb218bd491e7
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jul 3 20:29:25 2023 +0800
Refactor RuleChangedSubscriber (#26747)
---
.../subscriber/BroadcastTableSubscriber.java | 14 +-
.../encrypt/subscriber/EncryptTableSubscriber.java | 14 +-
.../encrypt/subscriber/EncryptorSubscriber.java | 14 +-
.../CompatibleEncryptTableSubscriber.java | 14 +-
.../compatible/CompatibleEncryptorSubscriber.java | 14 +-
.../mask/subscriber/MaskAlgorithmSubscriber.java | 14 +-
.../mask/subscriber/MaskTableSubscriber.java | 14 +-
.../ReadwriteSplittingDataSourceSubscriber.java | 14 +-
.../ReadwriteSplittingLoadBalanceSubscriber.java | 14 +-
.../DefaultShadowAlgorithmNameSubscriber.java | 14 +-
.../subscriber/ShadowAlgorithmSubscriber.java | 14 +-
.../subscriber/ShadowDataSourceSubscriber.java | 14 +-
.../shadow/subscriber/ShadowTableSubscriber.java | 14 +-
...DefaultDatabaseShardingStrategySubscriber.java} | 36 ++--
...a => DefaultKeyGenerateStrategySubscriber.java} | 37 ++--
... DefaultShardingAuditorStrategySubscriber.java} | 37 ++--
...r.java => DefaultShardingColumnSubscriber.java} | 35 +---
...=> DefaultTableShardingStrategySubscriber.java} | 32 +--
...Subscriber.java => KeyGeneratorSubscriber.java} | 36 ++--
.../subscriber/ShardingAlgorithmSubscriber.java | 86 +-------
...scriber.java => ShardingAuditorSubscriber.java} | 36 ++--
...riber.java => ShardingAutoTableSubscriber.java} | 34 +--
.../subscriber/ShardingCacheSubscriber.java | 14 +-
.../ShardingDefaultStrategySubscriber.java | 233 ---------------------
....java => ShardingTableReferenceSubscriber.java} | 37 ++--
.../subscriber/ShardingTableSubscriber.java | 96 +--------
...dingsphere.mode.subsciber.RuleChangedSubscriber | 10 +-
.../single/subscriber/SingleTableSubscriber.java | 14 +-
.../mode/subsciber/RuleChangedSubscriber.java | 21 +-
.../visitor/statement/MySQLStatementVisitor.java | 2 +-
30 files changed, 210 insertions(+), 768 deletions(-)
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableSubscriber.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableSubscriber.java
index 90d8da5488e..a821e06da7d 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableSubscriber.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableSubscriber.java
@@ -37,16 +37,12 @@ import java.util.Optional;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class BroadcastTableSubscriber implements RuleChangedSubscriber {
+public final class BroadcastTableSubscriber implements
RuleChangedSubscriber<AlterBroadcastTableEvent, DropBroadcastTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter broadcast table.
- *
- * @param event alter broadcast table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterBroadcastTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -66,12 +62,8 @@ public final class BroadcastTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with delete broadcast table.
- *
- * @param event delete broadcast table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropBroadcastTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
index 654e075127c..22c7481e58e 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
@@ -40,16 +40,12 @@ import java.util.LinkedList;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class EncryptTableSubscriber implements RuleChangedSubscriber {
+public final class EncryptTableSubscriber implements
RuleChangedSubscriber<AlterEncryptTableEvent, DropEncryptTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter encrypt table.
- *
- * @param event alter encrypt table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterEncryptTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -61,12 +57,8 @@ public final class EncryptTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), changedConfig));
}
- /**
- * Renew with drop encrypt table.
- *
- * @param event drop encrypt table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropEncryptTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
index 1b17a07bb76..ce50d5d5ebe 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
@@ -40,16 +40,12 @@ import java.util.LinkedList;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class EncryptorSubscriber implements RuleChangedSubscriber {
+public final class EncryptorSubscriber implements
RuleChangedSubscriber<AlterEncryptorEvent, DropEncryptorEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter encryptor.
- *
- * @param event alter encryptor event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterEncryptorEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -64,12 +60,8 @@ public final class EncryptorSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop encryptor.
- *
- * @param event drop encryptor event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropEncryptorEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableSubscriber.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableSubscriber.java
index d6648d47715..6c370a04a42 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableSubscriber.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableSubscriber.java
@@ -42,16 +42,12 @@ import java.util.LinkedList;
@Deprecated
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class CompatibleEncryptTableSubscriber implements
RuleChangedSubscriber {
+public final class CompatibleEncryptTableSubscriber implements
RuleChangedSubscriber<AlterCompatibleEncryptTableEvent,
DropCompatibleEncryptTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter encrypt table.
- *
- * @param event alter encrypt table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterCompatibleEncryptTableEvent
event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -68,12 +64,8 @@ public final class CompatibleEncryptTableSubscriber
implements RuleChangedSubscr
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop encrypt table.
- *
- * @param event drop encrypt table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropCompatibleEncryptTableEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorSubscriber.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorSubscriber.java
index 79e110ece75..9c39e1c579f 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorSubscriber.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorSubscriber.java
@@ -42,16 +42,12 @@ import java.util.LinkedList;
@Deprecated
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class CompatibleEncryptorSubscriber implements
RuleChangedSubscriber {
+public final class CompatibleEncryptorSubscriber implements
RuleChangedSubscriber<AlterCompatibleEncryptorEvent,
DropCompatibleEncryptorEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter encryptor.
- *
- * @param event alter encryptor event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterCompatibleEncryptorEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -66,12 +62,8 @@ public final class CompatibleEncryptorSubscriber implements
RuleChangedSubscribe
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop encryptor.
- *
- * @param event drop encryptor event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropCompatibleEncryptorEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
index e9fd0b68465..6892a1e346c 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
@@ -40,16 +40,12 @@ import java.util.LinkedList;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class MaskAlgorithmSubscriber implements RuleChangedSubscriber {
+public final class MaskAlgorithmSubscriber implements
RuleChangedSubscriber<AlterMaskAlgorithmEvent, DropMaskAlgorithmEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter mask algorithm.
- *
- * @param event alter mask algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterMaskAlgorithmEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -63,12 +59,8 @@ public final class MaskAlgorithmSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop mask algorithm.
- *
- * @param event drop mask algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropMaskAlgorithmEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
index 1c778696ff2..f6c9bf5fdef 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
@@ -40,16 +40,12 @@ import java.util.LinkedList;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class MaskTableSubscriber implements RuleChangedSubscriber {
+public final class MaskTableSubscriber implements
RuleChangedSubscriber<AlterMaskTableEvent, DropMaskTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter mask table.
- *
- * @param event alter mask table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterMaskTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -61,12 +57,8 @@ public final class MaskTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop mask table.
- *
- * @param event drop mask table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropMaskTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
index 972f53f5537..b48889b77da 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
@@ -43,16 +43,12 @@ import java.util.Optional;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ReadwriteSplittingDataSourceSubscriber implements
RuleChangedSubscriber {
+public final class ReadwriteSplittingDataSourceSubscriber implements
RuleChangedSubscriber<AlterReadwriteSplittingDataSourceEvent,
DropReadwriteSplittingDataSourceEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter readwrite-splitting configuration.
- *
- * @param event alter readwrite-splitting configuration event
- */
@Subscribe
+ @Override
public synchronized void renew(final
AlterReadwriteSplittingDataSourceEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -64,12 +60,8 @@ public final class ReadwriteSplittingDataSourceSubscriber
implements RuleChanged
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop readwrite-splitting configuration.
- *
- * @param event drop readwrite-splitting configuration event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropReadwriteSplittingDataSourceEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
index c501021386c..532fd1e2025 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
@@ -42,16 +42,12 @@ import java.util.Optional;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ReadwriteSplittingLoadBalanceSubscriber implements
RuleChangedSubscriber {
+public final class ReadwriteSplittingLoadBalanceSubscriber implements
RuleChangedSubscriber<AlterReadwriteSplittingLoadBalancerEvent,
DropReadwriteSplittingLoadBalancerEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter load-balancer.
- *
- * @param event alter load-balancer event
- */
@Subscribe
+ @Override
public synchronized void renew(final
AlterReadwriteSplittingLoadBalancerEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -62,12 +58,8 @@ public final class ReadwriteSplittingLoadBalanceSubscriber
implements RuleChange
getConfiguration(contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName()),
event.getItemName(), toBeChangedConfig)));
}
- /**
- * Renew with drop load-balancer.
- *
- * @param event drop load-balancer event
- */
@Subscribe
+ @Override
public synchronized void renew(final
DropReadwriteSplittingLoadBalancerEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameSubscriber.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameSubscriber.java
index 4bb4d839b89..cf51c6dba59 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameSubscriber.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameSubscriber.java
@@ -35,16 +35,12 @@ import java.util.Optional;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class DefaultShadowAlgorithmNameSubscriber implements
RuleChangedSubscriber {
+public final class DefaultShadowAlgorithmNameSubscriber implements
RuleChangedSubscriber<AlterDefaultShadowAlgorithmEvent,
DropDefaultShadowAlgorithmEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter default algorithm name.
- *
- * @param event alter default algorithm name event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterDefaultShadowAlgorithmEvent
event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -60,12 +56,8 @@ public final class DefaultShadowAlgorithmNameSubscriber
implements RuleChangedSu
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with delete default algorithm name.
- *
- * @param event delete default algorithm name event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropDefaultShadowAlgorithmEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
index 216a6588f17..2f8b3ad73b5 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
@@ -39,16 +39,12 @@ import java.util.Optional;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShadowAlgorithmSubscriber implements RuleChangedSubscriber {
+public final class ShadowAlgorithmSubscriber implements
RuleChangedSubscriber<AlterShadowAlgorithmEvent, DropShadowAlgorithmEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter algorithm.
- *
- * @param event alter algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShadowAlgorithmEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -66,12 +62,8 @@ public final class ShadowAlgorithmSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with delete algorithm.
- *
- * @param event delete algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShadowAlgorithmEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
index cdf1dba2d91..cc99727974c 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
@@ -36,16 +36,12 @@ import
org.apache.shardingsphere.shadow.yaml.config.datasource.YamlShadowDataSou
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShadowDataSourceSubscriber implements RuleChangedSubscriber
{
+public final class ShadowDataSourceSubscriber implements
RuleChangedSubscriber<AlterShadowDataSourceEvent, DropShadowDataSourceEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter shadow data source.
- *
- * @param event alter shadow data source event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShadowDataSourceEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -61,12 +57,8 @@ public final class ShadowDataSourceSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with delete shadow data source.
- *
- * @param event delete shadow data source event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShadowDataSourceEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
index 64016c5aa97..298883af96d 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
@@ -37,16 +37,12 @@ import
org.apache.shardingsphere.shadow.yaml.swapper.table.YamlShadowTableConfig
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShadowTableSubscriber implements RuleChangedSubscriber {
+public final class ShadowTableSubscriber implements
RuleChangedSubscriber<AlterShadowTableEvent, DropShadowTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter shadow table.
- *
- * @param event alter shadow table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShadowTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -60,12 +56,8 @@ public final class ShadowTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop shadow table.
- *
- * @param event drop shadow table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShadowTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategySubscriber.java
similarity index 70%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategySubscriber.java
index 9a049fa75b3..782000e2d31 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategySubscriber.java
@@ -25,54 +25,46 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.event.strategy.database.AlterDefaultDatabaseShardingStrategyEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.database.DropDefaultDatabaseShardingStrategyEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Default database sharding strategy subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class DefaultDatabaseShardingStrategySubscriber implements
RuleChangedSubscriber<AlterDefaultDatabaseShardingStrategyEvent,
DropDefaultDatabaseShardingStrategyEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final
AlterDefaultDatabaseShardingStrategyEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ ShardingStrategyConfiguration toBeChangedConfig = new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.setDefaultDatabaseShardingStrategy(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final
DropDefaultDatabaseShardingStrategyEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.setDefaultDatabaseShardingStrategy(null);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategySubscriber.java
similarity index 70%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategySubscriber.java
index 9a049fa75b3..9e115f21c4d 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategySubscriber.java
@@ -25,54 +25,47 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.event.strategy.keygenerate.AlterDefaultKeyGenerateStrategyEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.keygenerate.DropDefaultKeyGenerateStrategyEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Default key generate strategy subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class DefaultKeyGenerateStrategySubscriber implements
RuleChangedSubscriber<AlterDefaultKeyGenerateStrategyEvent,
DropDefaultKeyGenerateStrategyEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final AlterDefaultKeyGenerateStrategyEvent
event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ KeyGenerateStrategyConfiguration toBeChangedConfig = new
YamlKeyGenerateStrategyConfigurationSwapper().swapToObject(
+ YamlEngine.unmarshal(yamlContent,
YamlKeyGenerateStrategyConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.setDefaultKeyGenerateStrategy(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final DropDefaultKeyGenerateStrategyEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.setDefaultKeyGenerateStrategy(null);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategySubscriber.java
similarity index 70%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategySubscriber.java
index 9a049fa75b3..0f913e94cca 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategySubscriber.java
@@ -25,54 +25,47 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.event.strategy.audit.AlterDefaultShardingAuditorStrategyEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.audit.DropDefaultShardingAuditorStrategyEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.config.strategy.audit.YamlShardingAuditStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Default sharding auditor strategy subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class DefaultShardingAuditorStrategySubscriber implements
RuleChangedSubscriber<AlterDefaultShardingAuditorStrategyEvent,
DropDefaultShardingAuditorStrategyEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final
AlterDefaultShardingAuditorStrategyEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ ShardingAuditStrategyConfiguration toBeChangedConfig = new
YamlShardingAuditStrategyConfigurationSwapper().swapToObject(
+ YamlEngine.unmarshal(yamlContent,
YamlShardingAuditStrategyConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.setDefaultAuditStrategy(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final
DropDefaultShardingAuditorStrategyEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.setDefaultAuditStrategy(null);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnSubscriber.java
similarity index 66%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnSubscriber.java
index 9a049fa75b3..f4df6bbfa7d 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnSubscriber.java
@@ -20,59 +20,46 @@ package org.apache.shardingsphere.sharding.subscriber;
import com.google.common.eventbus.Subscribe;
import lombok.Setter;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.shardingcolumn.AlterDefaultShardingColumnEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.shardingcolumn.DropDefaultShardingColumnEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Default sharding column subscriber subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class DefaultShardingColumnSubscriber implements
RuleChangedSubscriber<AlterDefaultShardingColumnEvent,
DropDefaultShardingColumnEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final AlterDefaultShardingColumnEvent
event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
+ String toBeChangedConfig =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.setDefaultShardingColumn(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final DropDefaultShardingColumnEvent event)
{
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.setDefaultAuditStrategy(null);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategySubscriber.java
similarity index 67%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategySubscriber.java
index 9a049fa75b3..b2f5bd21476 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategySubscriber.java
@@ -25,54 +25,54 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.event.strategy.table.AlterDefaultTableShardingStrategyEvent;
+import
org.apache.shardingsphere.sharding.event.strategy.table.DropDefaultTableShardingStrategyEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Default table sharding strategy subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class DefaultTableShardingStrategySubscriber implements
RuleChangedSubscriber<AlterDefaultTableShardingStrategyEvent,
DropDefaultTableShardingStrategyEvent> {
private ContextManager contextManager;
/**
- * Renew with alter sharding cache.
+ * Renew with alter default table sharding strategy.
*
- * @param event alter sharding cache event
+ * @param event alter default table sharding strategy event
*/
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ public synchronized void renew(final
AlterDefaultTableShardingStrategyEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ ShardingStrategyConfiguration toBeChangedConfig = new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.setDefaultTableShardingStrategy(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
/**
- * Renew with drop sharding cache.
+ * Renew with drop default table sharding strategy.
*
- * @param event drop sharding cache event
+ * @param event drop default table sharding strategy event
*/
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ public synchronized void renew(final DropDefaultTableShardingStrategyEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.setDefaultTableShardingStrategy(null);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorSubscriber.java
similarity index 72%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorSubscriber.java
index 9a049fa75b3..5ff52339975 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorSubscriber.java
@@ -21,58 +21,48 @@ import com.google.common.eventbus.Subscribe;
import lombok.Setter;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
+import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.event.algorithm.keygenerator.AlterKeyGeneratorEvent;
+import
org.apache.shardingsphere.sharding.event.algorithm.keygenerator.DropKeyGeneratorEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Key generator subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class KeyGeneratorSubscriber implements
RuleChangedSubscriber<AlterKeyGeneratorEvent, DropKeyGeneratorEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final AlterKeyGeneratorEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
+ config.getKeyGenerators().put(event.getItemName(), new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class)));
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final DropKeyGeneratorEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.getKeyGenerators().remove(event.getItemName());
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
index d1fc7d23395..f13698d5685 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
@@ -27,10 +27,6 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.event.algorithm.auditor.AlterShardingAuditorEvent;
-import
org.apache.shardingsphere.sharding.event.algorithm.auditor.DropShardingAuditorEvent;
-import
org.apache.shardingsphere.sharding.event.algorithm.keygenerator.AlterKeyGeneratorEvent;
-import
org.apache.shardingsphere.sharding.event.algorithm.keygenerator.DropKeyGeneratorEvent;
import
org.apache.shardingsphere.sharding.event.algorithm.sharding.AlterShardingAlgorithmEvent;
import
org.apache.shardingsphere.sharding.event.algorithm.sharding.DropShardingAlgorithmEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -40,16 +36,12 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingAlgorithmSubscriber implements
RuleChangedSubscriber {
+public final class ShardingAlgorithmSubscriber implements
RuleChangedSubscriber<AlterShardingAlgorithmEvent, DropShardingAlgorithmEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding algorithm.
- *
- * @param event alter sharding algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShardingAlgorithmEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -62,12 +54,8 @@ public final class ShardingAlgorithmSubscriber implements
RuleChangedSubscriber
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with delete sharding algorithm.
- *
- * @param event delete sharding algorithm event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShardingAlgorithmEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
@@ -77,72 +65,4 @@ public final class ShardingAlgorithmSubscriber implements
RuleChangedSubscriber
config.getShardingAlgorithms().remove(event.getItemName());
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
-
- /**
- * Renew with alter sharding algorithm.
- *
- * @param event alter sharding algorithm event
- */
- @Subscribe
- public synchronized void renew(final AlterKeyGeneratorEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- config.getKeyGenerators().put(event.getItemName(), new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class)));
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with delete key generator.
- *
- * @param event delete key generator event
- */
- @Subscribe
- public synchronized void renew(final DropKeyGeneratorEvent event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.getKeyGenerators().remove(event.getItemName());
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter sharding algorithm.
- *
- * @param event alter sharding algorithm event
- */
- @Subscribe
- public synchronized void renew(final AlterShardingAuditorEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- config.getAuditors().put(event.getItemName(), new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class)));
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with delete key generator.
- *
- * @param event delete key generator event
- */
- @Subscribe
- public synchronized void renew(final DropShardingAuditorEvent event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.getAuditors().remove(event.getItemName());
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorSubscriber.java
similarity index 72%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorSubscriber.java
index 9a049fa75b3..e0db654a6f2 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorSubscriber.java
@@ -21,58 +21,48 @@ import com.google.common.eventbus.Subscribe;
import lombok.Setter;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
+import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.event.algorithm.auditor.AlterShardingAuditorEvent;
+import
org.apache.shardingsphere.sharding.event.algorithm.auditor.DropShardingAuditorEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Sharding auditor subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class ShardingAuditorSubscriber implements
RuleChangedSubscriber<AlterShardingAuditorEvent, DropShardingAuditorEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final AlterShardingAuditorEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
+ config.getAuditors().put(event.getItemName(), new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class)));
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final DropShardingAuditorEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.getAuditors().remove(event.getItemName());
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableSubscriber.java
similarity index 67%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableSubscriber.java
index 9a049fa75b3..8ff2228bdd0 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableSubscriber.java
@@ -25,54 +25,56 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
+import
org.apache.shardingsphere.sharding.event.table.auto.AlterShardingAutoTableEvent;
+import
org.apache.shardingsphere.sharding.event.table.auto.DropShardingAutoTableEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlShardingAutoTableRuleConfiguration;
+import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingAutoTableRuleConfigurationSwapper;
/**
- * Sharding cache subscriber.
+ * Sharding auto table subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class ShardingAutoTableSubscriber implements
RuleChangedSubscriber<AlterShardingAutoTableEvent, DropShardingAutoTableEvent> {
private ContextManager contextManager;
/**
- * Renew with alter sharding cache.
+ * Renew with alter sharding auto table.
*
- * @param event alter sharding cache event
+ * @param event alter sharding auto table event
*/
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ public synchronized void renew(final AlterShardingAutoTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ ShardingAutoTableRuleConfiguration toBeChangedConfig = new
YamlShardingAutoTableRuleConfigurationSwapper().swapToObject(
+ YamlEngine.unmarshal(yamlContent,
YamlShardingAutoTableRuleConfiguration.class));
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.getAutoTables().removeIf(each ->
each.getLogicTable().equals(event.getItemName()));
+ config.getAutoTables().add(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
/**
- * Renew with drop sharding cache.
+ * Renew with delete sharding auto table.
*
- * @param event drop sharding cache event
+ * @param event delete sharding auto table event
*/
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ public synchronized void renew(final DropShardingAutoTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.getAutoTables().removeIf(each ->
each.getLogicTable().equals(event.getItemName()));
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
index 9a049fa75b3..3129ca4a2a1 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
@@ -37,16 +37,12 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheCo
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class ShardingCacheSubscriber implements
RuleChangedSubscriber<AlterShardingCacheEvent, DropShardingCacheEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShardingCacheEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -60,12 +56,8 @@ public final class ShardingCacheSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShardingCacheEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingDefaultStrategySubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingDefaultStrategySubscriber.java
deleted file mode 100644
index a2d040348c5..00000000000
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingDefaultStrategySubscriber.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sharding.subscriber;
-
-import com.google.common.eventbus.Subscribe;
-import lombok.Setter;
-import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
-import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.event.strategy.audit.AlterDefaultShardingAuditorStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.audit.DropDefaultShardingAuditorStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.database.AlterDefaultDatabaseShardingStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.database.DropDefaultDatabaseShardingStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.keygenerate.AlterDefaultKeyGenerateStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.keygenerate.DropDefaultKeyGenerateStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.shardingcolumn.AlterDefaultShardingColumnEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.shardingcolumn.DropDefaultShardingColumnEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.table.AlterDefaultTableShardingStrategyEvent;
-import
org.apache.shardingsphere.sharding.event.strategy.table.DropDefaultTableShardingStrategyEvent;
-import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.strategy.audit.YamlShardingAuditStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
-import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
-import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
-
-/**
- * Sharding default strategy subscriber.
- */
-@SuppressWarnings("UnstableApiUsage")
-@Setter
-public final class ShardingDefaultStrategySubscriber implements
RuleChangedSubscriber {
-
- private ContextManager contextManager;
-
- /**
- * Renew with alter default database sharding strategy.
- *
- * @param event alter default database sharding strategy event
- */
- @Subscribe
- public synchronized void renew(final
AlterDefaultDatabaseShardingStrategyEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingStrategyConfiguration toBeChangedConfig = new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setDefaultDatabaseShardingStrategy(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with drop default database sharding strategy.
- *
- * @param event drop default database sharding strategy event
- */
- @Subscribe
- public synchronized void renew(final
DropDefaultDatabaseShardingStrategyEvent event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setDefaultDatabaseShardingStrategy(null);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter default table sharding strategy.
- *
- * @param event alter default table sharding strategy event
- */
- @Subscribe
- public synchronized void renew(final
AlterDefaultTableShardingStrategyEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingStrategyConfiguration toBeChangedConfig = new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setDefaultTableShardingStrategy(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with drop default table sharding strategy.
- *
- * @param event drop default table sharding strategy event
- */
- @Subscribe
- public synchronized void renew(final DropDefaultTableShardingStrategyEvent
event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setDefaultTableShardingStrategy(null);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter default key generate strategy.
- *
- * @param event alter default key generate strategy event
- */
- @Subscribe
- public synchronized void renew(final AlterDefaultKeyGenerateStrategyEvent
event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- KeyGenerateStrategyConfiguration toBeChangedConfig = new
YamlKeyGenerateStrategyConfigurationSwapper().swapToObject(
- YamlEngine.unmarshal(yamlContent,
YamlKeyGenerateStrategyConfiguration.class));
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setDefaultKeyGenerateStrategy(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with drop default key generate strategy.
- *
- * @param event drop default key generate strategy event
- */
- @Subscribe
- public synchronized void renew(final DropDefaultKeyGenerateStrategyEvent
event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setDefaultKeyGenerateStrategy(null);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter default sharding auditor strategy.
- *
- * @param event alter default sharding auditor strategy event
- */
- @Subscribe
- public synchronized void renew(final
AlterDefaultShardingAuditorStrategyEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingAuditStrategyConfiguration toBeChangedConfig = new
YamlShardingAuditStrategyConfigurationSwapper().swapToObject(
- YamlEngine.unmarshal(yamlContent,
YamlShardingAuditStrategyConfiguration.class));
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setDefaultAuditStrategy(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with drop default sharding auditor strategy.
- *
- * @param event drop default sharding auditor strategy event
- */
- @Subscribe
- public synchronized void renew(final
DropDefaultShardingAuditorStrategyEvent event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setDefaultAuditStrategy(null);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter default sharding column.
- *
- * @param event alter default sharding column event
- */
- @Subscribe
- public synchronized void renew(final AlterDefaultShardingColumnEvent
event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- String toBeChangedConfig =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setDefaultShardingColumn(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with delete default sharding column.
- *
- * @param event delete default sharding column event
- */
- @Subscribe
- public synchronized void renew(final DropDefaultShardingColumnEvent event)
{
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setDefaultAuditStrategy(null);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceSubscriber.java
similarity index 70%
copy from
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
copy to
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceSubscriber.java
index 9a049fa75b3..f82dc76c042 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceSubscriber.java
@@ -20,59 +20,50 @@ package org.apache.shardingsphere.sharding.subscriber;
import com.google.common.eventbus.Subscribe;
import lombok.Setter;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
-import org.apache.shardingsphere.sharding.event.cache.AlterShardingCacheEvent;
-import org.apache.shardingsphere.sharding.event.cache.DropShardingCacheEvent;
+import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
+import
org.apache.shardingsphere.sharding.event.table.binding.AlterShardingTableReferenceEvent;
+import
org.apache.shardingsphere.sharding.event.table.binding.DropShardingTableReferenceEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableReferenceRuleConfigurationConverter;
/**
- * Sharding cache subscriber.
+ * Sharding table reference subscriber.
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingCacheSubscriber implements RuleChangedSubscriber {
+public final class ShardingTableReferenceSubscriber implements
RuleChangedSubscriber<AlterShardingTableReferenceEvent,
DropShardingTableReferenceEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding cache.
- *
- * @param event alter sharding cache event
- */
@Subscribe
- public synchronized void renew(final AlterShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final AlterShardingTableReferenceEvent
event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
}
String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingCacheConfiguration toBeChangedConfig = new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
+ ShardingTableReferenceRuleConfiguration toBeChangedConfig =
YamlShardingTableReferenceRuleConfigurationConverter.convertToObject(yamlContent);
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
.map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.setShardingCache(toBeChangedConfig);
+ config.getBindingTableGroups().removeIf(each ->
each.getName().equals(event.getItemName()));
+ config.getBindingTableGroups().add(toBeChangedConfig);
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding cache.
- *
- * @param event drop sharding cache event
- */
@Subscribe
- public synchronized void renew(final DropShardingCacheEvent event) {
+ @Override
+ public synchronized void renew(final DropShardingTableReferenceEvent
event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
}
ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.setShardingCache(null);
+ config.getBindingTableGroups().removeIf(each ->
each.getName().equals(event.getItemName()));
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableSubscriber.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableSubscriber.java
index 05c0b26f236..6fd60445290 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableSubscriber.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableSubscriber.java
@@ -25,20 +25,11 @@ import
org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChan
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
-import
org.apache.shardingsphere.sharding.event.table.auto.AlterShardingAutoTableEvent;
-import
org.apache.shardingsphere.sharding.event.table.auto.DropShardingAutoTableEvent;
-import
org.apache.shardingsphere.sharding.event.table.binding.AlterShardingTableReferenceEvent;
-import
org.apache.shardingsphere.sharding.event.table.binding.DropShardingTableReferenceEvent;
import
org.apache.shardingsphere.sharding.event.table.sharding.AlterShardingTableEvent;
import
org.apache.shardingsphere.sharding.event.table.sharding.DropShardingTableEvent;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlShardingAutoTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfiguration;
-import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingAutoTableRuleConfigurationSwapper;
-import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableReferenceRuleConfigurationConverter;
import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRuleConfigurationSwapper;
/**
@@ -46,16 +37,12 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRul
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class ShardingTableSubscriber implements RuleChangedSubscriber {
+public final class ShardingTableSubscriber implements
RuleChangedSubscriber<AlterShardingTableEvent, DropShardingTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter sharding table.
- *
- * @param event alter sharding table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterShardingTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -70,12 +57,8 @@ public final class ShardingTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
- /**
- * Renew with drop sharding table.
- *
- * @param event drop sharding table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropShardingTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
@@ -85,77 +68,4 @@ public final class ShardingTableSubscriber implements
RuleChangedSubscriber {
config.getTables().removeIf(each ->
each.getLogicTable().equals(event.getItemName()));
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
}
-
- /**
- * Renew with alter sharding auto table.
- *
- * @param event alter sharding auto table event
- */
- @Subscribe
- public synchronized void renew(final AlterShardingAutoTableEvent event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingAutoTableRuleConfiguration toBeChangedConfig = new
YamlShardingAutoTableRuleConfigurationSwapper().swapToObject(
- YamlEngine.unmarshal(yamlContent,
YamlShardingAutoTableRuleConfiguration.class));
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.getAutoTables().removeIf(each ->
each.getLogicTable().equals(event.getItemName()));
- config.getAutoTables().add(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with delete sharding auto table.
- *
- * @param event delete sharding auto table event
- */
- @Subscribe
- public synchronized void renew(final DropShardingAutoTableEvent event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.getAutoTables().removeIf(each ->
each.getLogicTable().equals(event.getItemName()));
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with alter sharding table reference.
- *
- * @param event alter sharding table reference event
- */
- @Subscribe
- public synchronized void renew(final AlterShardingTableReferenceEvent
event) {
- if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
- return;
- }
- String yamlContent =
contextManager.getInstanceContext().getModeContextManager().getVersionPathByActiveVersionKey(event.getActiveVersionKey(),
event.getActiveVersion());
- ShardingTableReferenceRuleConfiguration toBeChangedConfig =
YamlShardingTableReferenceRuleConfigurationConverter.convertToObject(yamlContent);
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config =
database.getRuleMetaData().findSingleRule(ShardingRule.class)
- .map(optional -> (ShardingRuleConfiguration)
optional.getConfiguration()).orElseGet(ShardingRuleConfiguration::new);
- config.getBindingTableGroups().removeIf(each ->
each.getName().equals(event.getItemName()));
- config.getBindingTableGroups().add(toBeChangedConfig);
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
-
- /**
- * Renew with delete sharding table reference.
- *
- * @param event delete sharding table reference event
- */
- @Subscribe
- public synchronized void renew(final DropShardingTableReferenceEvent
event) {
- if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
- return;
- }
- ShardingSphereDatabase database =
contextManager.getMetaDataContexts().getMetaData().getDatabases().get(event.getDatabaseName());
- ShardingRuleConfiguration config = (ShardingRuleConfiguration)
database.getRuleMetaData().getSingleRule(ShardingRule.class).getConfiguration();
- config.getBindingTableGroups().removeIf(each ->
each.getName().equals(event.getItemName()));
- contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), config));
- }
}
diff --git
a/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber
b/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber
index a3b19909ddd..c8e1ee02ae5 100644
---
a/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber
+++
b/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.subsciber.RuleChangedSubscriber
@@ -15,7 +15,15 @@
# limitations under the License.
#
+org.apache.shardingsphere.sharding.subscriber.ShardingAutoTableSubscriber
org.apache.shardingsphere.sharding.subscriber.ShardingTableSubscriber
-org.apache.shardingsphere.sharding.subscriber.ShardingDefaultStrategySubscriber
+org.apache.shardingsphere.sharding.subscriber.ShardingTableReferenceSubscriber
org.apache.shardingsphere.sharding.subscriber.ShardingAlgorithmSubscriber
+org.apache.shardingsphere.sharding.subscriber.KeyGeneratorSubscriber
+org.apache.shardingsphere.sharding.subscriber.ShardingAuditorSubscriber
+org.apache.shardingsphere.sharding.subscriber.DefaultDatabaseShardingStrategySubscriber
+org.apache.shardingsphere.sharding.subscriber.DefaultTableShardingStrategySubscriber
+org.apache.shardingsphere.sharding.subscriber.DefaultKeyGenerateStrategySubscriber
+org.apache.shardingsphere.sharding.subscriber.DefaultShardingAuditorStrategySubscriber
+org.apache.shardingsphere.sharding.subscriber.DefaultShardingColumnSubscriber
org.apache.shardingsphere.sharding.subscriber.ShardingCacheSubscriber
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableSubscriber.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableSubscriber.java
index e7fd27523d5..3e3a0430b96 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableSubscriber.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableSubscriber.java
@@ -36,16 +36,12 @@ import
org.apache.shardingsphere.single.yaml.config.swapper.YamlSingleRuleConfig
*/
@SuppressWarnings("UnstableApiUsage")
@Setter
-public final class SingleTableSubscriber implements RuleChangedSubscriber {
+public final class SingleTableSubscriber implements
RuleChangedSubscriber<AlterSingleTableEvent, DropSingleTableEvent> {
private ContextManager contextManager;
- /**
- * Renew with alter single table.
- *
- * @param event alter single table event
- */
@Subscribe
+ @Override
public synchronized void renew(final AlterSingleTableEvent event) {
if
(!event.getActiveVersion().equals(contextManager.getInstanceContext().getModeContextManager().getActiveVersionByKey(event.getActiveVersionKey())))
{
return;
@@ -57,12 +53,8 @@ public final class SingleTableSubscriber implements
RuleChangedSubscriber {
contextManager.getInstanceContext().getEventBusContext().post(new
DatabaseRuleConfigurationChangedEvent(event.getDatabaseName(), changedConfig));
}
- /**
- * Renew with drop single table.
- *
- * @param event drop single table event
- */
@Subscribe
+ @Override
public synchronized void renew(final DropSingleTableEvent event) {
if
(!contextManager.getMetaDataContexts().getMetaData().containsDatabase(event.getDatabaseName()))
{
return;
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/subsciber/RuleChangedSubscriber.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/subsciber/RuleChangedSubscriber.java
index 60db5c37367..c435fbd8416 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/subsciber/RuleChangedSubscriber.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/subsciber/RuleChangedSubscriber.java
@@ -17,12 +17,17 @@
package org.apache.shardingsphere.mode.subsciber;
+import
org.apache.shardingsphere.infra.rule.event.rule.alter.AlterRuleItemEvent;
+import org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
/**
* Rule changed subscriber.
+ *
+ * @param <A> type of alter rule item event
+ * @param <D> type of drop rule item event
*/
-public interface RuleChangedSubscriber {
+public interface RuleChangedSubscriber<A extends AlterRuleItemEvent, D extends
DropRuleItemEvent> {
/**
* Set context manager.
@@ -30,4 +35,18 @@ public interface RuleChangedSubscriber {
* @param contextManager context manager
*/
void setContextManager(ContextManager contextManager);
+
+ /**
+ * Renew with alter rule item.
+ *
+ * @param event alter rule item event
+ */
+ void renew(A event);
+
+ /**
+ * Renew with drop rule item.
+ *
+ * @param event drop rule item event
+ */
+ void renew(D event);
}
diff --git
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
index 4926b71acb4..b0d602ae3c0 100644
---
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
+++
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
@@ -555,7 +555,7 @@ public abstract class MySQLStatementVisitor extends
MySQLStatementBaseVisitor<AS
String text = ctx.start.getInputStream().getText(new
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
return new BinaryOperationExpression(ctx.start.getStartIndex(),
ctx.stop.getStopIndex(), left, right, operator, text);
}
-
+
private BinaryOperationExpression
createBinaryOperationExpressionFromRlike(final PredicateContext ctx) {
ExpressionSegment left = (ExpressionSegment) visit(ctx.bitExpr(0));
ExpressionSegment right = (ExpressionSegment) visit(ctx.bitExpr(1));