From e6a667bea56e500b11b0860dc376965680bd4709 Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Wed, 15 Jul 2026 21:16:36 +0800 Subject: [PATCH] Scaffold project foundation for ASR event monitor. Add Maven deps, CN mirrors with DNS workaround, H2 file DB config, and empty package layout from the confirmed solution. Co-authored-by: Cursor --- .gitignore | 1 + .mvn/maven.config | 2 + .mvn/settings.xml | 60 +++++++++++++++++++ .mvn/wrapper/maven-wrapper.properties | 2 +- mvnw-cn | 30 ++++++++++ pom.xml | 19 ++++++ .../com/example/demo/api/package-info.java | 1 + .../demo/application/package-info.java | 1 + .../com/example/demo/config/package-info.java | 1 + .../com/example/demo/domain/package-info.java | 1 + .../com/example/demo/job/package-info.java | 1 + .../example/demo/matcher/package-info.java | 1 + .../example/demo/repository/package-info.java | 1 + .../example/demo/support/package-info.java | 1 + src/main/resources/application.properties | 1 - src/main/resources/application.yml | 31 ++++++++++ src/main/resources/static/.gitkeep | 0 17 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 .mvn/maven.config create mode 100644 .mvn/settings.xml create mode 100755 mvnw-cn create mode 100644 src/main/java/com/example/demo/api/package-info.java create mode 100644 src/main/java/com/example/demo/application/package-info.java create mode 100644 src/main/java/com/example/demo/config/package-info.java create mode 100644 src/main/java/com/example/demo/domain/package-info.java create mode 100644 src/main/java/com/example/demo/job/package-info.java create mode 100644 src/main/java/com/example/demo/matcher/package-info.java create mode 100644 src/main/java/com/example/demo/repository/package-info.java create mode 100644 src/main/java/com/example/demo/support/package-info.java delete mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/static/.gitkeep diff --git a/.gitignore b/.gitignore index 667aaef..1c4cf5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ HELP.md target/ +data/ .mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ diff --git a/.mvn/maven.config b/.mvn/maven.config new file mode 100644 index 0000000..1388250 --- /dev/null +++ b/.mvn/maven.config @@ -0,0 +1,2 @@ +-s +.mvn/settings.xml diff --git a/.mvn/settings.xml b/.mvn/settings.xml new file mode 100644 index 0000000..86ca28e --- /dev/null +++ b/.mvn/settings.xml @@ -0,0 +1,60 @@ + + + + + + + huaweicloud + * + Huawei Cloud Maven + https://repo.huaweicloud.com/repository/maven/ + + + + + + cn-mirrors + + + huaweicloud + https://repo.huaweicloud.com/repository/maven/ + true + true + + + aliyun-public + https://maven.aliyun.com/repository/public + true + true + + + tencent + https://mirrors.cloud.tencent.com/nexus/repository/maven-public/ + true + true + + + + + huaweicloud + https://repo.huaweicloud.com/repository/maven/ + true + true + + + aliyun-public + https://maven.aliyun.com/repository/public + true + true + + + + + + + cn-mirrors + + + diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 216df05..6d9191e 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,3 +1,3 @@ wrapperVersion=3.3.4 distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip +distributionUrl=https://repo.huaweicloud.com/repository/maven/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip diff --git a/mvnw-cn b/mvnw-cn new file mode 100755 index 0000000..cb6e0c4 --- /dev/null +++ b/mvnw-cn @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Run Maven with Chinese DNS / hosts overrides. +# WSL default nameserver (10.255.255.254) often hangs; this bypasses it. +set -euo pipefail +ROOT="$(cd "$(dirname "$0")" && pwd)" +REAL_HOME="${HOME}" +DNS_DIR="${TMPDIR:-/tmp}/maven-dns-fix" +mkdir -p "$DNS_DIR" +printf 'nameserver 223.5.5.5\nnameserver 119.29.29.29\noptions timeout:2 attempts:2\n' > "$DNS_DIR/resolv.conf" +cat > "$DNS_DIR/hosts" <<'EOF' +127.0.0.1 localhost +::1 localhost +122.228.195.18 maven.aliyun.com +180.163.142.26 repo.huaweicloud.com +61.170.82.70 mirrors.cloud.tencent.com +EOF + +if unshare --user --map-root-user --mount true 2>/dev/null; then + exec unshare --user --map-root-user --mount bash -c " + mount --bind '$DNS_DIR/resolv.conf' /etc/resolv.conf + mount --bind '$DNS_DIR/hosts' /etc/hosts + export HOME='$REAL_HOME' + export MAVEN_OPTS=\"\${MAVEN_OPTS:-} -Dmaven.repo.local=$REAL_HOME/.m2/repository\" + cd '$ROOT' + exec ./mvnw \"\$@\" + " bash "$@" +else + echo "warn: unshare unavailable; running ./mvnw without DNS override" >&2 + exec "$ROOT/mvnw" "$@" +fi diff --git a/pom.xml b/pom.xml index c1abcc6..98e34db 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,25 @@ org.springframework.boot spring-boot-starter-webmvc + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.ahocorasick + ahocorasick + 0.6.3 + + + com.h2database + h2 + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + org.springframework.boot diff --git a/src/main/java/com/example/demo/api/package-info.java b/src/main/java/com/example/demo/api/package-info.java new file mode 100644 index 0000000..bbf812a --- /dev/null +++ b/src/main/java/com/example/demo/api/package-info.java @@ -0,0 +1 @@ +package com.example.demo.api; diff --git a/src/main/java/com/example/demo/application/package-info.java b/src/main/java/com/example/demo/application/package-info.java new file mode 100644 index 0000000..4a3dd64 --- /dev/null +++ b/src/main/java/com/example/demo/application/package-info.java @@ -0,0 +1 @@ +package com.example.demo.application; diff --git a/src/main/java/com/example/demo/config/package-info.java b/src/main/java/com/example/demo/config/package-info.java new file mode 100644 index 0000000..a4bc723 --- /dev/null +++ b/src/main/java/com/example/demo/config/package-info.java @@ -0,0 +1 @@ +package com.example.demo.config; diff --git a/src/main/java/com/example/demo/domain/package-info.java b/src/main/java/com/example/demo/domain/package-info.java new file mode 100644 index 0000000..39ae1b8 --- /dev/null +++ b/src/main/java/com/example/demo/domain/package-info.java @@ -0,0 +1 @@ +package com.example.demo.domain; diff --git a/src/main/java/com/example/demo/job/package-info.java b/src/main/java/com/example/demo/job/package-info.java new file mode 100644 index 0000000..0ee192b --- /dev/null +++ b/src/main/java/com/example/demo/job/package-info.java @@ -0,0 +1 @@ +package com.example.demo.job; diff --git a/src/main/java/com/example/demo/matcher/package-info.java b/src/main/java/com/example/demo/matcher/package-info.java new file mode 100644 index 0000000..2a7738e --- /dev/null +++ b/src/main/java/com/example/demo/matcher/package-info.java @@ -0,0 +1 @@ +package com.example.demo.matcher; diff --git a/src/main/java/com/example/demo/repository/package-info.java b/src/main/java/com/example/demo/repository/package-info.java new file mode 100644 index 0000000..0919a62 --- /dev/null +++ b/src/main/java/com/example/demo/repository/package-info.java @@ -0,0 +1 @@ +package com.example.demo.repository; diff --git a/src/main/java/com/example/demo/support/package-info.java b/src/main/java/com/example/demo/support/package-info.java new file mode 100644 index 0000000..de0793d --- /dev/null +++ b/src/main/java/com/example/demo/support/package-info.java @@ -0,0 +1 @@ +package com.example.demo.support; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 2109a44..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=demo diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..3de83c3 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,31 @@ +spring: + application: + name: asr-event-monitor + + datasource: + url: jdbc:h2:file:./data/rules;DB_CLOSE_ON_EXIT=FALSE + username: sa + password: + + jpa: + hibernate: + ddl-auto: update + open-in-view: false + +server: + port: 8080 + +monitor: + recent-final-window-size: 2 + max-processed-seqs: 500 + session-ttl: PT2H + session-cleanup-interval: PT10M + +management: + endpoints: + web: + exposure: + include: + - health + - info + - metrics diff --git a/src/main/resources/static/.gitkeep b/src/main/resources/static/.gitkeep new file mode 100644 index 0000000..e69de29