# est-spi-standardization **Repository Path**: est-spi/standardization ## Basic Information - **Project Name**: est-spi-standardization - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EST SPI Standardization [English Version](README.en.md) ## EST SPI 标准化模块 est-spi-standardization 是 EST SPI 框架的标准化模块,提供标准接口定义、规范文档和框架常量。 ### 核心功能 #### EstSpiConstants - 框架常量 定义框架的核心常量,包括: - 框架名称和版本 - 基础包名 - 配置前缀 - 默认字符编码 - 默认超时时间 - 默认重试配置 - 默认日期格式 - 默认时区 #### EstSpiService - 服务接口 定义EST SPI服务的标准接口,包括: - getName() - 获取服务名称 - getVersion() - 获取服务版本 - initialize() - 初始化服务 - destroy() - 销毁服务 - isInitialized() - 检查是否已初始化 - getStatus() - 获取服务状态 #### ServiceStatus - 服务状态枚举 定义服务的生命周期状态: - UNINITIALIZED - 未初始化 - INITIALIZING - 初始化中 - RUNNING - 运行中 - STOPPING - 停止中 - STOPPED - 已停止 - ERROR - 错误 #### StandardizationException - 标准化异常 标准化操作的异常类。 #### AbstractEstSpiService - 抽象服务基类 提供服务的标准实现基类,包括: - 状态管理 - 初始化和销毁的模板方法 - 异常处理 ### 快速开始 #### 使用框架常量 ```java import ltd.idcu.est.spi.standardization.EstSpiConstants; public class Example { public static void main(String[] args) { System.out.println("Framework: " + EstSpiConstants.FRAMEWORK_NAME); System.out.println("Version: " + EstSpiConstants.FRAMEWORK_VERSION); System.out.println("Base Package: " + EstSpiConstants.BASE_PACKAGE); System.out.println("Default Charset: " + EstSpiConstants.DEFAULT_CHARSET); System.out.println("Default Timeout: " + EstSpiConstants.DEFAULT_TIMEOUT_MS + "ms"); } } ``` #### 创建自定义服务 ```java import ltd.idcu.est.spi.standardization.AbstractEstSpiService; import ltd.idcu.est.spi.standardization.StandardizationException; public class MyCustomService extends AbstractEstSpiService { @Override public String getName() { return "MyCustomService"; } @Override public String getVersion() { return "1.0.0"; } @Override protected void doInitialize() throws Exception { System.out.println("Initializing " + getName()); } @Override protected void doDestroy() throws Exception { System.out.println("Destroying " + getName()); } } ``` #### 使用自定义服务 ```java import ltd.idcu.est.spi.standardization.EstSpiService; import ltd.idcu.est.spi.standardization.ServiceStatus; import ltd.idcu.est.spi.standardization.StandardizationException; public class Example { public static void main(String[] args) { EstSpiService service = new MyCustomService(); try { System.out.println("Status before init: " + service.getStatus()); service.initialize(); System.out.println("Status after init: " + service.getStatus()); System.out.println("Is initialized: " + service.isInitialized()); service.destroy(); System.out.println("Status after destroy: " + service.getStatus()); } catch (StandardizationException e) { e.printStackTrace(); } } } ``` #### 检查服务状态 ```java import ltd.idcu.est.spi.standardization.EstSpiService; import ltd.idcu.est.spi.standardization.ServiceStatus; public class Example { public static void checkServiceStatus(EstSpiService service) { ServiceStatus status = service.getStatus(); switch (status) { case UNINITIALIZED: System.out.println("Service is not initialized"); break; case INITIALIZING: System.out.println("Service is initializing..."); break; case RUNNING: System.out.println("Service is running normally"); break; case STOPPING: System.out.println("Service is stopping..."); break; case STOPPED: System.out.println("Service has been stopped"); break; case ERROR: System.out.println("Service is in error state"); break; } System.out.println("Status description: " + status.getDescription()); } } ``` #### 完整服务示例 ```java import ltd.idcu.est.spi.standardization.AbstractEstSpiService; import java.util.HashMap; import java.util.Map; public class DatabaseService extends AbstractEstSpiService { private Map config; private boolean connected = false; public DatabaseService() { this.config = new HashMap<>(); } @Override public String getName() { return "DatabaseService"; } @Override public String getVersion() { return "2.0.0"; } @Override protected void doInitialize() throws Exception { System.out.println("Connecting to database..."); config.put("url", "jdbc:mysql://localhost:3306/mydb"); config.put("username", "admin"); config.put("password", "secret"); Thread.sleep(500); connected = true; System.out.println("Database connected successfully"); } @Override protected void doDestroy() throws Exception { System.out.println("Disconnecting from database..."); Thread.sleep(200); connected = false; config.clear(); System.out.println("Database disconnected"); } public boolean isConnected() { return connected; } public String getConfig(String key) { return config.get(key); } } public class CompleteExample { public static void main(String[] args) throws Exception { DatabaseService dbService = new DatabaseService(); System.out.println("=== Database Service ==="); System.out.println("Name: " + dbService.getName()); System.out.println("Version: " + dbService.getVersion()); dbService.initialize(); System.out.println("Connected: " + dbService.isConnected()); System.out.println("URL: " + dbService.getConfig("url")); dbService.destroy(); System.out.println("Connected after destroy: " + dbService.isConnected()); } } ``` ### Maven 依赖 ```xml ltd.idcu.est.spi est-spi-standardization 1.0.0 ``` ### 许可证 MIT License