From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsWaterSamplingMessageWiringChecks.java | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsWaterSamplingMessageWiringChecks.java b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsWaterSamplingMessageWiringChecks.java
new file mode 100644
index 0000000..d9e10b5
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsWaterSamplingMessageWiringChecks.java
@@ -0,0 +1,41 @@
+package jnpf.limsService.support;
+
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+/** Source-level wiring probe for the transaction-bound water sampling message. */
+public class LimsWaterSamplingMessageWiringChecks {
+ public static void main(String[] args) throws Exception {
+ String service = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/"
+ + "LimsSxtQuyangJihuaRenwuServiceImpl.java");
+ int generated = service.indexOf("renwuMapper.markGenerated(");
+ int published = service.indexOf("eventPublisher.publishEvent(new LimsWaterSamplingMessageEvent(");
+ require(generated >= 0 && published > generated,
+ "message event must be published after the task is marked generated");
+
+ String listener = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/listener/"
+ + "LimsWaterSamplingMessageListener.java");
+ require(listener.contains("TransactionPhase.AFTER_COMMIT"), "listener must run after commit");
+ require(listener.contains("LimsRecipientRef.role(event.getSamplingRoleId())"),
+ "sampling role must be resolved explicitly as ROLE");
+ require(listener.contains("LimsMessageEvent.WATER_SAMPLING_DUE"), "fixed event code is required");
+
+ String ledger = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/"
+ + "LimsMessageLedgerService.java");
+ require(ledger.contains("Propagation.REQUIRES_NEW"),
+ "after-commit message ledger must use an independent transaction");
+ }
+
+ private static String read(String path) throws Exception {
+ Path root = Paths.get(System.getProperty("user.dir"));
+ return new String(Files.readAllBytes(root.resolve(path)), StandardCharsets.UTF_8);
+ }
+
+ private static void require(boolean value, String message) {
+ if (!value) {
+ throw new AssertionError(message);
+ }
+ }
+}
--
Gitblit v1.8.0