未验证 提交 afa1ca23 编写于 作者: L Liang Zhang 提交者: GitHub

Rename schema related event (#8095)

* Rename SchemaChangedNotifier

* Rename SchemaPersistEvent

* Rename SchemaChangedEvent
上级 09281f69
......@@ -23,11 +23,11 @@ import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
/**
* Meta data changed event.
* Schema changed event.
*/
@RequiredArgsConstructor
@Getter
public final class MetaDataChangedEvent implements GovernanceEvent {
public final class SchemaChangedEvent implements GovernanceEvent {
private final String schemaName;
......
......@@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration
import java.util.Map;
/**
* Data source event.
* Data source persist event.
*/
@RequiredArgsConstructor
@Getter
......
......@@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.config.RuleConfiguration;
import java.util.Collection;
/**
* Rule event.
* Rule persist event.
*/
@RequiredArgsConstructor
@Getter
......
......@@ -22,7 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
/**
* Schema name event.
* Schema name persist event.
*/
@RequiredArgsConstructor
@Getter
......
......@@ -23,11 +23,11 @@ import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
/**
* Meta data event.
* Schema persist event.
*/
@RequiredArgsConstructor
@Getter
public final class MetaDataPersistEvent implements GovernanceEvent {
public final class SchemaPersistEvent implements GovernanceEvent {
private final String schemaName;
......
......@@ -26,7 +26,7 @@ import org.apache.shardingsphere.encrypt.algorithm.config.AlgorithmProvidedEncry
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.governance.core.event.GovernanceEventBus;
import org.apache.shardingsphere.governance.core.event.model.persist.DataSourcePersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.MetaDataPersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaPersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.RulePersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaNamePersistEvent;
import org.apache.shardingsphere.governance.core.yaml.config.YamlDataSourceConfiguration;
......@@ -148,7 +148,7 @@ public final class ConfigCenter {
* @param event Meta data event.
*/
@Subscribe
public synchronized void renew(final MetaDataPersistEvent event) {
public synchronized void renew(final SchemaPersistEvent event) {
persistSchema(event.getSchemaName(), event.getSchema());
}
......
......@@ -24,7 +24,7 @@ import org.apache.shardingsphere.governance.core.config.ConfigCenterNode;
import org.apache.shardingsphere.governance.core.event.listener.PostGovernanceRepositoryEventListener;
import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import org.apache.shardingsphere.governance.core.event.model.datasource.DataSourceChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.MetaDataChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.rule.RuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaAddedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaDeletedEvent;
......@@ -124,7 +124,7 @@ public final class SchemaChangedListener extends PostGovernanceRepositoryEventLi
} else if (event.getKey().equals(configurationNode.getRulePath(schemaName))) {
return createRuleChangedEvent(schemaName, event);
}
return createMetaDataChangedEvent(schemaName, event);
return createSchemaChangedEvent(schemaName, event);
}
private DataSourceChangedEvent createDataSourceChangedEvent(final String schemaName, final DataChangedEvent event) {
......@@ -140,7 +140,7 @@ public final class SchemaChangedListener extends PostGovernanceRepositoryEventLi
return new RuleConfigurationsChangedEvent(schemaName, new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(configurations.getRules()));
}
private GovernanceEvent createMetaDataChangedEvent(final String schemaName, final DataChangedEvent event) {
return new MetaDataChangedEvent(schemaName, new LogicSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlLogicSchemaMetaData.class)));
private GovernanceEvent createSchemaChangedEvent(final String schemaName, final DataChangedEvent event) {
return new SchemaChangedEvent(schemaName, new LogicSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlLogicSchemaMetaData.class)));
}
}
......@@ -20,7 +20,7 @@ package org.apache.shardingsphere.governance.core.config;
import lombok.SneakyThrows;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.governance.core.event.model.persist.DataSourcePersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.MetaDataPersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaPersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.RulePersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaNamePersistEvent;
import org.apache.shardingsphere.governance.core.yaml.config.metadata.YamlLogicSchemaMetaData;
......@@ -522,9 +522,9 @@ public final class ConfigCenterTest {
}
@Test
public void assertRenewMetaDataPersistEvent() {
MetaDataPersistEvent event = new MetaDataPersistEvent("sharding_db",
new LogicSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(readYAML(META_DATA_YAML), YamlLogicSchemaMetaData.class)));
public void assertRenewSchemaPersistEvent() {
SchemaPersistEvent event = new SchemaPersistEvent(
"sharding_db", new LogicSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(readYAML(META_DATA_YAML), YamlLogicSchemaMetaData.class)));
ConfigCenter configCenter = new ConfigCenter(configurationRepository);
configCenter.renew(event);
verify(configurationRepository).persist(eq("/schemas/sharding_db/table"), anyString());
......
......@@ -21,7 +21,7 @@ import lombok.SneakyThrows;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import org.apache.shardingsphere.governance.core.event.model.datasource.DataSourceChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.MetaDataChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.rule.RuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaAddedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaDeletedEvent;
......@@ -253,11 +253,11 @@ public final class SchemaChangedListenerTest {
}
@Test
public void assertCreateMetaDataChangedEvent() {
public void assertCreateSchemaChangedEvent() {
DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas/sharding_db/table", readYAML(META_DATA_FILE), Type.UPDATED);
Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
assertTrue(actual.isPresent());
assertTrue(((MetaDataChangedEvent) actual.get()).getSchema().getAllTableNames().contains("t_order"));
assertTrue(((SchemaChangedEvent) actual.get()).getSchema().getAllTableNames().contains("t_order"));
}
@SneakyThrows({IOException.class, URISyntaxException.class})
......
......@@ -23,7 +23,7 @@ import org.apache.shardingsphere.governance.core.event.GovernanceEventBus;
import org.apache.shardingsphere.governance.core.event.model.auth.AuthenticationChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.datasource.DataSourceChangeCompletedEvent;
import org.apache.shardingsphere.governance.core.event.model.datasource.DataSourceChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.MetaDataChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.props.PropertiesChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.rule.RuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaAddedEvent;
......@@ -205,7 +205,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
* @param event meta data changed event
*/
@Subscribe
public synchronized void renew(final MetaDataChangedEvent event) {
public synchronized void renew(final SchemaChangedEvent event) {
Map<String, ShardingSphereMetaData> newMetaDataMap = new HashMap<>(schemaContexts.getMetaDataMap().size(), 1);
for (Entry<String, ShardingSphereMetaData> entry : schemaContexts.getMetaDataMap().entrySet()) {
String schemaName = entry.getKey();
......
......@@ -20,7 +20,7 @@ package org.apache.shardingsphere.governance.context.schema;
import org.apache.shardingsphere.governance.core.config.ConfigCenter;
import org.apache.shardingsphere.governance.core.event.model.auth.AuthenticationChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.datasource.DataSourceChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.MetaDataChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.metadata.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.props.PropertiesChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.rule.RuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.core.event.model.schema.SchemaAddedEvent;
......@@ -190,16 +190,16 @@ public final class GovernanceSchemaContextsTest {
}
@Test
public void assertMetaDataChanged() {
MetaDataChangedEvent event = new MetaDataChangedEvent("schema_changed", mock(ShardingSphereSchema.class));
public void assertSchemaChanged() {
SchemaChangedEvent event = new SchemaChangedEvent("schema_changed", mock(ShardingSphereSchema.class));
governanceSchemaContexts.renew(event);
assertTrue(governanceSchemaContexts.getMetaDataMap().containsKey("schema"));
assertFalse(governanceSchemaContexts.getMetaDataMap().containsKey("schema_changed"));
}
@Test
public void assertMetaDataChangedWithExistSchema() {
MetaDataChangedEvent event = new MetaDataChangedEvent("schema", mock(ShardingSphereSchema.class));
public void assertSchemaChangedWithExistSchema() {
SchemaChangedEvent event = new SchemaChangedEvent("schema", mock(ShardingSphereSchema.class));
governanceSchemaContexts.renew(event);
assertThat(governanceSchemaContexts.getMetaDataMap().get("schema"), not(metaData));
}
......
......@@ -21,12 +21,12 @@ import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPI;
/**
* Schema meta data notifier.
* ShardingSphere schema changed notifier.
*/
public interface SchemaMetaDataNotifier extends OrderedSPI<ShardingSphereSchema> {
public interface SchemaChangedNotifier extends OrderedSPI<ShardingSphereSchema> {
/**
* Notify when schema meta data changed.
* Notify when ShardingSphere schema changed.
*
* @param name schema name
* @param schema ShardingSphere schema
......
......@@ -32,7 +32,7 @@ import org.apache.shardingsphere.infra.metadata.schema.loader.TableMetaDataLoade
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategyFactory;
import org.apache.shardingsphere.infra.metadata.schema.refresh.spi.SchemaMetaDataNotifier;
import org.apache.shardingsphere.infra.metadata.schema.refresh.spi.SchemaChangedNotifier;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.apache.shardingsphere.infra.rule.type.DataNodeContainedRule;
......@@ -58,7 +58,7 @@ import java.util.stream.Collectors;
public abstract class AbstractStatementExecutor {
static {
ShardingSphereServiceLoader.register(SchemaMetaDataNotifier.class);
ShardingSphereServiceLoader.register(SchemaChangedNotifier.class);
}
private final Map<String, DataSource> dataSourceMap;
......@@ -85,7 +85,7 @@ public abstract class AbstractStatementExecutor {
Collection<String> routeDataSourceNames = routeUnits.stream().map(RouteUnit::getDataSourceMapper).map(RouteMapper::getLogicName).collect(Collectors.toList());
refreshStrategy.get().refreshMetaData(metaData.getSchema(), schemaContexts.getDatabaseType(), routeDataSourceNames,
sqlStatement, tableName -> TableMetaDataLoader.load(tableName, schemaContexts.getDatabaseType(), dataSourceMap, metaData.getRuleMetaData().getRules(), schemaContexts.getProps()));
notifyPersistLogicMetaData(DefaultSchema.LOGIC_NAME, metaData.getSchema());
notifyPersistSchema(DefaultSchema.LOGIC_NAME, metaData.getSchema());
}
}
......@@ -96,8 +96,8 @@ public abstract class AbstractStatementExecutor {
return null != result && !result.isEmpty() && null != result.get(0) && result.get(0);
}
private void notifyPersistLogicMetaData(final String schemaName, final ShardingSphereSchema schema) {
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(schema), SchemaMetaDataNotifier.class).values().forEach(each -> each.notify(schemaName, schema));
private void notifyPersistSchema(final String schemaName, final ShardingSphereSchema schema) {
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(schema), SchemaChangedNotifier.class).values().forEach(each -> each.notify(schemaName, schema));
}
/**
......
......@@ -18,18 +18,18 @@
package org.apache.shardingsphere.driver.governance.internal.metadata;
import org.apache.shardingsphere.governance.core.event.GovernanceEventBus;
import org.apache.shardingsphere.governance.core.event.model.persist.MetaDataPersistEvent;
import org.apache.shardingsphere.infra.metadata.schema.refresh.spi.SchemaMetaDataNotifier;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaPersistEvent;
import org.apache.shardingsphere.infra.metadata.schema.refresh.spi.SchemaChangedNotifier;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
/**
* Governance schema meta data notifier.
* ShardingSphere schema changed notifier for governance.
*/
public final class GovernanceSchemaMetaDataNotifier implements SchemaMetaDataNotifier {
public final class GovernanceSchemaChangedNotifier implements SchemaChangedNotifier {
@Override
public void notify(final String name, final ShardingSphereSchema schema) {
GovernanceEventBus.getInstance().post(new MetaDataPersistEvent(name, schema));
GovernanceEventBus.getInstance().post(new SchemaPersistEvent(name, schema));
}
@Override
......
......@@ -15,4 +15,4 @@
# limitations under the License.
#
org.apache.shardingsphere.driver.governance.internal.metadata.GovernanceSchemaMetaDataNotifier
org.apache.shardingsphere.driver.governance.internal.metadata.GovernanceSchemaChangedNotifier
......@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.communication.jdbc;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.governance.core.event.GovernanceEventBus;
import org.apache.shardingsphere.governance.core.event.model.persist.MetaDataPersistEvent;
import org.apache.shardingsphere.governance.core.event.model.persist.SchemaPersistEvent;
import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
......@@ -106,7 +106,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
if (refreshStrategy.isPresent()) {
refreshStrategy.get().refreshMetaData(
metaData.getSchema(), ProxyContext.getInstance().getSchemaContexts().getDatabaseType(), routeDataSourceNames, sqlStatement, this::loadTableMetaData);
GovernanceEventBus.getInstance().post(new MetaDataPersistEvent(metaData.getName(), metaData.getSchema()));
GovernanceEventBus.getInstance().post(new SchemaPersistEvent(metaData.getName(), metaData.getSchema()));
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册