Browse Source

fix: add @Qualifier to TDengineService constructor for explicit bean wiring

Without -parameters compiler flag, Spring cannot match ExecutorService
parameter by name when multiple beans of the same type exist. This
caused 'No bean named tdengineService available' startup failure on
production deployment.
mqy20260511
humanleft 3 days ago
parent
commit
a8d4903d34

+ 3
- 1
iot-platform/src/main/java/com/iot/platform/service/TDengineService.java View File

@@ -6,6 +6,7 @@ import com.zaxxer.hikari.HikariDataSource;
6 6
 import org.slf4j.Logger;
7 7
 import org.slf4j.LoggerFactory;
8 8
 import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.beans.factory.annotation.Qualifier;
9 10
 import org.springframework.stereotype.Service;
10 11
 
11 12
 import java.io.ByteArrayOutputStream;
@@ -24,7 +25,8 @@ public class TDengineService {
24 25
     private final ExecutorService batchExecutor;
25 26
 
26 27
     @Autowired
27
-    public TDengineService(ExecutorService tdengineBatchExecutor, IotProperties iotProperties) {
28
+    public TDengineService(@Qualifier("tdengineBatchExecutor") ExecutorService tdengineBatchExecutor,
29
+                           IotProperties iotProperties) {
28 30
         this.batchExecutor = tdengineBatchExecutor;
29 31
         this.iotProperties = iotProperties;
30 32
     }

Loading…
Cancel
Save