# dwarfeng-datamark
**Repository Path**: dwarfeng/dwarfeng-datamark
## Basic Information
- **Project Name**: dwarfeng-datamark
- **Description**: 基于 subgrade 框架的数据标记处理工具
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-05-09
- **Last Updated**: 2025-06-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# dwarfeng-datamark
Dwarfeng(赵扶风)的数据标记处理工具,基于 `subgrade` 项目,用于提升数据的运维便捷性和可追溯性。
## 特性
1. Subgrade 架构支持。
2. 能够轻松地通过配置获取一个数据标记处理器,以获取当前的数据标记的值。
3. 数据标记基于 Spring Resource 进行加载。
4. 提供标记刷新 API,可以重复读取 Spring Resource,并刷新数据标记。
5. 提供标记更新 API,当 Spring Resource 支持写入时,可以更新数据标记。
6. 使用读写锁,线程安全的同时提高并发效率。
运行 `src/test` 下的示例以观察全部特性。
| 示例类名 | 说明 |
|--------------------------------------------------------------|---------------|
| com.dwarfeng.datamark.example.MultitonHandlerProcessExample | 多例模式处理器流程示例 |
| com.dwarfeng.datamark.example.MultitonQosProcessExample | 多例模式 QoS 流程示例 |
| com.dwarfeng.datamark.example.SingletonHandlerProcessExample | 单例模式处理器流程示例 |
| com.dwarfeng.datamark.example.SingletonQosProcessExample | 单例模式 QoS 流程示例 |
## 文档
该项目的文档位于 [docs](./docs) 目录下,包括:
### wiki
wiki 为项目的开发人员为本项目编写的详细文档,包含不同语言的版本,主要入口为:
1. [简介](./docs/wiki/zh_CN/Introduction.md) - 镜像的 `README.md`,与本文件内容基本相同。
2. [目录](./docs/wiki/zh_CN/Contents.md) - 文档目录。
## 安装说明
1. 下载源码。
- 使用 git 进行源码下载。
```shell
git clone git@github.com:DwArFeng/dwarfeng-datamark.git
```
- 对于中国用户,可以使用 gitee 进行高速下载。
```shell
git clone git@gitee.com:dwarfeng/dwarfeng-datamark.git
```
2. 项目安装。
进入项目根目录,执行 maven 命令
```shell
mvn clean source:jar install
```
3. 项目引入。
在项目的 pom.xml 中添加如下依赖:
```xml
com.dwarfeng
dwarfeng-datamark
${dwarfeng-datamark.version}
```
4. enjoy it.
## 如何使用
1. 运行 `src/test` 下的 `Example` 以观察全部特性。
2. 观察项目结构,将其中的配置运用到其它的 subgrade 项目中。
### 推荐的使用模式
数据标记处理器的多例模式可以为不同类型的数据提供不同的数据标记处理器,在实际使用中可以细化数据标记的粒度。
数据标记 QoS 可以对所有的数据标记处理器进行统一的管理,一般而言使用单例模式,
除非有特殊需求(比如对不同的数据处理器隔离管理)。
- 数据标记处理器: 推荐使用多例模式,以细化数据标记的粒度。
- 数据标记 QoS: 推荐使用单例模式,以统一管理所有的数据标记处理器。
基于上述原因,推荐使用项目提供的自定义 XML 命名空间进行便捷配置,示例如下:
```xml
```