From 0a9d6edb9b9b8603a4a7b06b25da7fb965f9b699 Mon Sep 17 00:00:00 2001
From: wangran <3189505710@qq.com>
Date: Tue, 13 Jan 2026 19:59:17 +0800
Subject: [PATCH] =?UTF-8?q?2026.1.13=E6=8F=90=E4=BA=A4=EF=BC=8Cjyt?=
=?UTF-8?q?=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/codeStyles/codeStyleConfig.xml | 5 +
.../com/bigdata/config/MultiPortConfig.java | 46 ++++++
.../bigdata/controller/PhoenixController.java | 41 ++++++
.../com/bigdata/util/PhoenixJdbcUtil.java | 139 ++++++++++++++++++
src/main/resources/application.yml | 1 +
5 files changed, 232 insertions(+)
create mode 100644 .idea/codeStyles/codeStyleConfig.xml
create mode 100644 src/main/java/com/bigdata/config/MultiPortConfig.java
create mode 100644 src/main/java/com/bigdata/controller/PhoenixController.java
create mode 100644 src/main/java/com/bigdata/util/PhoenixJdbcUtil.java
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..a55e7a1
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/bigdata/config/MultiPortConfig.java b/src/main/java/com/bigdata/config/MultiPortConfig.java
new file mode 100644
index 0000000..2559c8c
--- /dev/null
+++ b/src/main/java/com/bigdata/config/MultiPortConfig.java
@@ -0,0 +1,46 @@
+package com.bigdata.config;
+
+import org.apache.coyote.http11.Http11NioProtocol;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.server.WebServerFactoryCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MultiPortConfig {
+
+ // 读取配置文件中的额外端口(8080)
+ @Value("${server.additional-ports:}")
+ private String additionalPorts;
+
+ @Bean
+ public WebServerFactoryCustomizer webServerFactoryCustomizer() {
+ return factory -> {
+ if (additionalPorts != null && !additionalPorts.trim().isEmpty()) {
+ for (String portStr : additionalPorts.split(",")) {
+ int port = Integer.parseInt(portStr.trim());
+ // 修正构造函数:先实例化 Http11NioProtocol,再传入 Connector
+ factory.addAdditionalTomcatConnectors(createConnector(port));
+ }
+ }
+ };
+ }
+
+ // 重构 Connector 创建逻辑,适配 Tomcat 9.x
+ private org.apache.catalina.connector.Connector createConnector(int port) {
+ // 1. 先实例化 HTTP 协议对象
+ Http11NioProtocol protocol = new Http11NioProtocol();
+ // 2. 设置协议的端口
+ protocol.setPort(port);
+
+ // 3. 创建 Connector 并传入实例化的协议对象(Tomcat 9.x 正确写法)
+ org.apache.catalina.connector.Connector connector = new org.apache.catalina.connector.Connector(protocol);
+ // 4. 补充必要配置
+ connector.setPort(port); // 绑定端口
+ connector.setScheme("http"); // HTTP 协议
+ connector.setSecure(false); // 非 HTTPS
+ connector.setURIEncoding("UTF-8");// 编码格式
+ return connector;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/bigdata/controller/PhoenixController.java b/src/main/java/com/bigdata/controller/PhoenixController.java
new file mode 100644
index 0000000..06aef63
--- /dev/null
+++ b/src/main/java/com/bigdata/controller/PhoenixController.java
@@ -0,0 +1,41 @@
+package com.bigdata.controller;
+
+import com.bigdata.util.PhoenixJdbcUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 测试控制器:读取 NWQUALITY 表数据并返回
+ */
+@RestController
+@RequestMapping("/phoenix")
+public class PhoenixController {
+
+ // 注入工具类
+ @Autowired
+ private PhoenixJdbcUtil phoenixJdbcUtil;
+
+ /**
+ * 读取 NWQUALITY 表所有数据
+ * 访问地址:http://localhost:8080/phoenix/nwquality/all
+ */
+ @GetMapping("/nwquality/all")
+ public List