Files
iot-dc3/dc3-driver/dc3-driver-redis/README.md
T
pnoker 1fa2d6f0cf docs(comments): fill the real comment gaps across the repository
A comment-health audit driven by an AST scanner (regex scanners kept
false-positiving on annotation-separated javadoc; the AST pass with
constructor and @Override-implementation exemptions is what produced a
trustworthy worklist) ended with a much smaller true gap than the raw
numbers suggested: class-level javadoc is already at 100% repository-wide.

What actually gets filled here:

- AnalyticsModel: all 30 nested records of the S19 analytics facet get
  maintainer-voice javadoc (the @Schema descriptions serve the API side;
  these serve code readers).
- The whole entity/ext family (29 files, 47 nested classes): every
  Content/Ui/Validation/Security/AppliesTo/Template/Dedup/... schema
  class states what it actually holds — read from the fields, not
  templated.
- Adapter families: the @Bean methods of all six MQ adapters, all four
  TSDB adapters and the three DB dialect adapters get one-line
  maintainer docs (what binds to what, what is overridable).
- Nested support types across data/agentic/constant/public/facade:
  NotifyBindKey, CacheTuning, Credential, dashboard VOs' Item/BucketVO,
  ExpireListener (plus its null-doc placeholder javadoc replaced with a
  real contract), agentic chat/stream VOs' choice/delta/usage shapes,
  tool-context records, RequestHeader envelopes, FleetSummary,
  visualization Type/Scale codes.
- PointValueSampleConverter's boundary methods now state the port-side
  contract (quality default injection point, batch order preservation).

Comment drift fixed: the class javadoc of the can/mqtt/opc-da driver
skeletons claimed "see TODO markers in method bodies" — those markers
do not exist; the claims are corrected to plain work-in-progress notes.
The genuine TODOs (zigbee API verification, lwm2m lookup, ethernet-ip
CIP framing, CAN JNI) stay: they mark real unimplemented behavior.

Vendored-code boundary: the opc-da module carries a ported
org.openscada library (46 files, package org.openscada.*). Its trivial
accessors stay bare on purpose — filler comments on get/set pairs are
exactly the kind of noise this pass exists to remove — but the
non-obvious JIStruct wire-decoder methods (getStruct/fromStruct
FILETIME + three DO wrappers) now document the COM bridge shape.

Gates: full-repo compile green; data/model/constant/agentic/public
test suites green.
2026-08-24 21:23:39 +08:00

2.5 KiB

DC3 Driver Redis

Overview

dc3-driver-redis treats Redis as a key-value data source. It reads and writes string keys (GET/SET) and hash fields (HGET/HSET) through the Spring Boot auto-configured StringRedisTemplate. A device-level key prefix isolates multiple logical devices within one Redis instance.

Module Information

  • Group ID: io.github.pnoker
  • Artifact ID: dc3-driver-redis
  • Driver Name: Redis Driver

Driver Attributes (Device-level)

Attribute Code Type Default Description
Key Prefix keyPrefix STRING Prefix prepended to every point key

Point Attributes

Attribute Code Type Default Description
Key key STRING Redis key (relative to the key prefix)
Data Type dataType STRING STRING Redis data type: STRING or HASH
Field field STRING Hash field, required when dataType=HASH

Command Attributes (write)

Attribute Code Type Default Description
Data Type dataType STRING STRING Redis data type of the written key: STRING or HASH

The module application.yml is authoritative for attribute codes, types, defaults, scheduling, health, and local buffering. Keep this README aligned when those user-facing settings change.

Prerequisites

A reachable Redis instance. Point the spring.data.redis.* properties (or REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_DATABASE) at the target server.

Connection

The Redis connection is configured through Spring Boot spring.data.redis.* properties in application.yml, driven by the REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, and REDIS_DATABASE environment variables.

Running Locally

make up-db
make up-dev GROUP=core
mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-redis -am package
java -jar dc3-driver/dc3-driver-redis/target/dc3-driver-redis.jar

Testing

mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-redis -am test
  • dc3-common-driver — Driver SDK for registration, scheduling, and RabbitMQ integration