Implementation:Apache Shardingsphere MetaDataContextsInitFactory Create
| Knowledge Sources | |
|---|---|
| Domains | Mode_Management, Metadata, Initialization |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
Abstract factory providing a template method for initializing MetaDataContexts with global rules, databases, and statistics.
Description
MetaDataContextsInitFactory defines the initialization pattern for creating MetaDataContexts. Subclasses implement the abstract create() method to load data from either local configuration or a remote register center. The protected createMetaDataContexts() method assembles the final context from global rules, database collections, and statistics.
Usage
Subclassed by LocalConfigurationMetaDataContextsInitFactory and RegisterCenterMetaDataContextsInitFactory to support different initialization sources.
Code Reference
Source Location
- Repository: Apache_Shardingsphere
- File: MetaDataContextsInitFactory.java
- Lines: 1-60
Signature
public abstract class MetaDataContextsInitFactory {
public abstract MetaDataContexts create(ContextManagerBuilderParameter param);
protected final MetaDataContexts createMetaDataContexts(
Collection<RuleConfiguration> globalRuleConfigs,
Map<String, ShardingSphereDatabase> databases,
Properties props);
}
Import
import org.apache.shardingsphere.mode.metadata.factory.init.MetaDataContextsInitFactory;
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| param | ContextManagerBuilderParameter | Yes | Bootstrap parameters including config and mode |
| globalRuleConfigs | Collection<RuleConfiguration> | Yes | Global rule configurations |
| databases | Map<String, ShardingSphereDatabase> | Yes | Database metadata map |
| props | Properties | Yes | System properties |
Outputs
| Name | Type | Description |
|---|---|---|
| create() returns | MetaDataContexts | Fully initialized metadata context |
Usage Examples
// Used internally by ContextManagerBuilder implementations
MetaDataContextsInitFactory factory = new LocalConfigurationMetaDataContextsInitFactory(persistFacade);
MetaDataContexts contexts = factory.create(builderParam);