# data-push-simulator **Repository Path**: yangdaji/data-push-simulator ## Basic Information - **Project Name**: data-push-simulator - **Description**: 数据推送模拟器 (目前可模拟文本socket, redis 推送, 其他推送等待开发) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-29 - **Last Updated**: 2023-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据推送模拟器 ```text 可支持websocket, redis 等进行模拟数据推送 可将需要推送的数据存入文件,进行简单的配置即可 没有别名映射时: 一级文件以频道号命名即可 多级文件订阅时需要使用目录名加上文件名(pathName1.pathName2.fileName)的格式进行订阅 使用别名映射时: 订阅的频道号和配置 channel 字段的值一致 ``` # 数据推送模拟器使用说明 (目前可模拟文本socket, redis 推送, 其他推送等待开发) ## 1. 配置监听目录 ```json { "listener-path": "C:/test-file", "suffix-file": ".json", "channel-path": "C:\\Users\\dell\\Desktop\\tools", "channel-file-name": "channel-map.json", "period": 5, "redis": { "host": "localhost2", "port": "6379", "password": "", "enable": true } } ``` ```text 说明: { "listener-path": "C:/test-file", #推送数据文件存放位置 "suffix-file": ".json", #文件格式 "channel-path": "C:\\Users\\dell\\Desktop\\tools", # 为推送频道设置别名的文件存放位置 "channel-file-name": "channel-map.json", # 别名映射文件名称 "period": 5 #文件存放位置间隔扫描时间 单位 秒 (不清楚默认即可) "redis": { # redis 连接配置 "host": "localhost", # ip "port": "6379", # 端口 "password": "", # 密码 "enable": true # 标识是否启用redis 推送 } } ``` ## 2. 启动服务 (start.bat) ## 3. 通过可以连接websocket,redis的工具或程序进行连接 ## 4. 向服务端发送推送的频道 ```text 发送格式1: {"channel":"文件夹名称.文件名称","period":5} 发送格式2(前提需要配置推送频道别名文件): {"channel":"频道号","period":5} 说明: channel: 订阅频道(同时也对应文件名称,存在文件夹时使用 文件夹名称.文件名作为频道)/ 频道号(和映射文件中所配置的一致即可) period: 控制推送的周期单位 秒 (没有特殊要求,默认即可: 默认即不填这个字段) ``` ### 1.自定义周期性推送 ```json { "channel": "xx.pushName.test", # 频道号/ 全文件名(以.间隔) "period": 10 # 设置推送周期(默认5秒) } ``` ### 例: ### 1. 未配置映射别名 ```json // 自定义周期10秒 { "channel": "test.pushName", "period": 10 } ``` ## 5. 配置方式(可选 1,2) ### 1. 文件目录加文件名方式 ```text 将需要推送的数据以文件方式存放在 listener-path 目录, 后缀以 suffix-file 格式命名 ``` ### 2. 自定义别名方式 ```text 在 channel-path 配置的目录下创建和 channel-file-name 配置的名称相同的文件(目前支持json) json 映射格式: [ { "fileName": "test", # 文件名称 "channel": "xiaobai", # 映射频道 "redis-push": true # 是否同时推送到redis } ] ``` > 配置文件(conf/conf.json), 频道映射文件(channel-map)的格式 可参考 resources下已有的 > 注: 程序默认对单目录下的文件数量进行限制, 开发可以进行修改调试, 对应用户则每个目录下可推送数量为 30, 频道映射默认就2个(json), 且对于用户没有给出直接配置 # 后续优化 ```text 1. 映射文件的数量限制设置, 目前设置存在问题 ```