openlatch-client
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.lamspace</groupId>
<artifactId>openlatch-client</artifactId>
<version>1.0.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.lamspace</groupId>
<artifactId>openlatch</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>openlatch-client</artifactId>
<name>openlatch-client</name>
<description>OpenLatch 客户端 SDK:异步内核 + 同步包装 + 看门狗 + 重连</description>
<dependencies>
<!-- 客户端仅依赖协议与 netty:锁语义裁决全部在服务端(详设 §2 约束 2) -->
<dependency>
<groupId>io.github.lamspace</groupId>
<artifactId>openlatch-protocol</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<!-- Phase 3 T2 客户端可选指标(详设 §3.3):optional 阻断传递——
宿主不启用指标则 classpath 无 Micrometer;启用需自带该依赖
(版本由 Spring Boot BOM / 宿主托管,spec"不成为强制传递依赖") -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<!-- 集成/故障注入测试(§10.3/§10.4)在测试作用域内启动真实服务器;
不构成运行时依赖,不违反"客户端不依赖 core"的模块约束 -->
<dependency>
<groupId>io.github.lamspace</groupId>
<artifactId>openlatch-server</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 集成与故障注入测试(*IT,§10.3/§10.4):进程内真实服务器 /
进程级杀服务端等重场景,独立于单测运行 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<!-- 进程级演练(@Tag("drill"))默认排除,-Pdrill 时纳入 -->
<excludedGroups>drill</excludedGroups>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- 杀 Leader 演练 profile(P2-14):仅运行 @Tag("drill") 用例,
需先 `mvn -pl openlatch-server -am package` 产出 shaded jar -->
<profile>
<id>drill</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration combine.self="override">
<groups>drill</groups>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>