Merge remote-tracking branch 'origin/1.2.2-JDK17-SNAPSHOT' into 1.2.2-JDK17-SNAPSHOT

This commit is contained in:
wujiawei 2024-01-13 17:24:00 +08:00
commit a85125d96a
20 changed files with 206 additions and 41 deletions

View File

@ -5,7 +5,7 @@ MAINTAINER wujiawei <1207537021@qq.com>
RUN echo "Asia/Shanghai" > /etc/timezone
COPY target/middleground-under-cloud-heartbeat-client /native-app
COPY target/lazy-cloud-heartbeat-client /native-app
ENTRYPOINT ["/bin/sh" ,"-c", "exec ./native-app"]

View File

@ -9,8 +9,8 @@ mvn native:build -Pnative
```
### 构建docker镜像
```shell
docker build -t docker-registry.laihui.com/middleground/middleground-under-cloud-heartbeat-client:middleground-2.4.2-native-SNAPSHOT_latest -f Native-Dockerfile .
docker push docker-registry.laihui.com/middleground/middleground-under-cloud-heartbeat-client:middleground-2.4.2-native-SNAPSHOT_latest
docker build -t docker-registry.laihui.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest -f Native-Dockerfile .
docker push docker-registry.laihui.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest
```
@ -29,7 +29,7 @@ docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-cl
### run
```shell
docker run -d -it --name client -e spring.middleground.netty.inet-host=124.222.48.62 -e spring.middleground.netty.inet-port=30676 -e spring.middleground.netty.client-id=node1 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-client:server-jdk17-master
docker run -d -it --name client -e spring.lazy.netty.inet-host=124.222.48.62 -e spring.lazy.netty.inet-port=30676 -e spring.lazy.netty.client-id=node1 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-client:server-jdk17-master

View File

@ -6,7 +6,6 @@ import wu.framework.lazy.cloud.heartbeat.client.application.ClientNettyConfigApp
import wu.framework.lazy.cloud.heartbeat.client.netty.socket.NettyClientSocket;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -23,9 +22,8 @@ import java.util.concurrent.TimeUnit;
*/
@Slf4j
@Configuration
public class AutoConfiguration implements CommandLineRunner {
public class ClientAutoConfiguration implements CommandLineRunner {
private final ServerProperties serverProperties;
private final NettyServerProperties nettyServerProperties;
private final ClientNettyConfigApplication clientNettyConfigApplication;
@ -35,11 +33,9 @@ public class AutoConfiguration implements CommandLineRunner {
ThreadPoolExecutor NETTY_CLIENT_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS,
new ArrayBlockingQueue<>(1));
public AutoConfiguration(ServerProperties serverProperties,
NettyServerProperties nettyServerProperties,
ClientNettyConfigApplication clientNettyConfigApplication,
List<ChannelTypeAdvanced> channelTypeAdvancedList) {
this.serverProperties = serverProperties;
public ClientAutoConfiguration(NettyServerProperties nettyServerProperties,
ClientNettyConfigApplication clientNettyConfigApplication,
List<ChannelTypeAdvanced> channelTypeAdvancedList) {
this.nettyServerProperties = nettyServerProperties;
this.clientNettyConfigApplication = clientNettyConfigApplication;
this.channelTypeAdvancedList = channelTypeAdvancedList;
@ -47,7 +43,7 @@ public class AutoConfiguration implements CommandLineRunner {
@Bean(destroyMethod = "shutdown")
public NettyClientSocket nettyServerSocket() {
public NettyClientSocket nettyClientSocket() {
String inetHost = nettyServerProperties.getInetHost();
int inetPort = nettyServerProperties.getInetPort();
String clientId = nettyServerProperties.getClientId();

View File

@ -0,0 +1,66 @@
package wu.framework.lazy.cloud.heartbeat.client.netty.config;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Role;
import wu.framework.lazy.cloud.heartbeat.client.application.ClientNettyConfigApplication;
import wu.framework.lazy.cloud.heartbeat.client.netty.advanced.*;
import wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties;
import wu.framework.lazy.cloud.heartbeat.common.advanced.ChannelTypeAdvanced;
import java.util.List;
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public class HeartbeatClientConfiguration {
/**
* 服务端 处理客户端心跳
*
* @return ClientChannelHeartbeatTypeAdvanced
*/
@Bean
public ClientChannelHeartbeatTypeAdvanced clientChannelHeartbeatTypeAdvanced() {
return new ClientChannelHeartbeatTypeAdvanced();
}
/**
* 处理 客户端代理的真实端口自动读写
* @return ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced
*/
@Bean
public ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced clientDistributeSingleClientRealAutoReadConnectTypeAdvanced(){
return new ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced();
}
@Bean
public ClientDistributeSingleClientRealCloseVisitorTypeAdvanced clientDistributeSingleClientRealCloseVisitorTypeAdvanced(){
return new ClientDistributeSingleClientRealCloseVisitorTypeAdvanced();
}
@Bean
public ClientReportChannelTransferTypeAdvanced clientReportChannelTransferTypeAdvanced(NettyServerProperties nettyServerProperties){
return new ClientReportChannelTransferTypeAdvanced(nettyServerProperties);
}
@Bean
public DistributeConnectSuccessNotificationTypeAdvanced distributeConnectSuccessNotificationTypeAdvanced(ClientNettyConfigApplication clientNettyConfigApplication, NettyServerProperties nettyServerProperties){
return new DistributeConnectSuccessNotificationTypeAdvanced(clientNettyConfigApplication, nettyServerProperties);
}
@Bean
public DistributeDisconnectTypeAdvanced distributeDisconnectTypeAdvanced(ClientNettyConfigApplication clientNettyConfigApplication){
return new DistributeDisconnectTypeAdvanced(clientNettyConfigApplication);
}
@Bean
public DistributeStagingClosedTypeAdvanced distributeStagingClosedTypeAdvanced(){
return new DistributeStagingClosedTypeAdvanced();
}
@Bean
public DistributeStagingOpenedTypeAdvanced distributeStagingOpenedTypeAdvanced(){
return new DistributeStagingOpenedTypeAdvanced();
}
@Bean
public ClientDistributeSingleClientRealConnectTypeAdvanced clientDistributeSingleClientRealConnectTypeAdvanced(NettyServerProperties nettyServerProperties,
List<ChannelTypeAdvanced> channelTypeAdvancedList ){
return new ClientDistributeSingleClientRealConnectTypeAdvanced(nettyServerProperties,channelTypeAdvancedList);
}
}

View File

@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
@Configuration
@Data
public class NettyServerProperties {
public static final String PREFIX = "spring.middleground.netty";
public static final String PREFIX = "spring.lazy.netty";
/**
* 服务端地址
*/
@ -23,7 +23,7 @@ public class NettyServerProperties {
/**
* 服务端path
*/
private String inetPath = "middleground-on-cloud-heartbeat-server";
private String inetPath = "lazy-cloud-heartbeat-server";
/**
* 客户端ID
*/

View File

@ -11,6 +11,9 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import lombok.extern.slf4j.Slf4j;
/**
* 客户端访客通信通道 处理器
*/
@Slf4j
public class NettyClientVisitorRealHandler extends SimpleChannelInboundHandler<NettyProxyMsg> {
private final ChannelTypeAdapter channelTypeAdapter;

View File

@ -1,3 +1,6 @@
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration,\
wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties,\
wu.framework.lazy.cloud.heartbeat.client.netty.config.ClientAutoConfiguration,\
wu.framework.lazy.cloud.heartbeat.client.netty.config.HeartbeatClientConfiguration

View File

@ -1 +1,4 @@
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration
wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties
wu.framework.lazy.cloud.heartbeat.client.netty.config.ClientAutoConfiguration
wu.framework.lazy.cloud.heartbeat.client.netty.config.HeartbeatClientConfiguration

View File

@ -27,6 +27,28 @@
<build>
<plugins>
<!-- <plugin>-->
<!-- <groupId>org.graalvm.buildtools</groupId>-->
<!-- <artifactId>native-maven-plugin</artifactId>-->
<!-- <configuration>-->
<!-- &lt;!&ndash; imageName用于设置生成的二进制文件名称 &ndash;&gt;-->
<!-- <imageName>${project.artifactId}</imageName>-->
<!-- &lt;!&ndash; mainClass用于指定main方法类路径 &ndash;&gt;-->
<!-- <mainClass>wu.framework.lazy.cloud.heartbeat.client.LazyCloudHeartbeatClient</mainClass>-->
<!-- <buildArgs>-->
<!-- &#45;&#45;no-fallback-->
<!-- </buildArgs>-->
<!-- </configuration>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>build-native</id>-->
<!-- <goals>-->
<!-- <goal>compile-no-fork</goal>-->
<!-- </goals>-->
<!-- <phase>package</phase>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>

View File

@ -1,12 +1,12 @@
spring:
middleground:
lazy:
netty:
# inet-host: 192.168.17.221
# inet-port: 4923
# inet-path: middleground-on-cloud-heartbeat-server
inet-host: 124.222.48.62 # 服务端地址
inet-port: 30676 #服务端端口
inet-host: 127.0.0.1
inet-port: 7001
inet-path: middleground-on-cloud-heartbeat-server
# inet-host: 124.222.48.62 # 服务端地址
# inet-port: 30676 #服务端端口
# inet-path: middleground-on-cloud-heartbeat-server
client-id: local # 客户端ID
data:
redis:

View File

@ -1,12 +0,0 @@
spring:
application:
name: middleground-under-cloud-heartbeat-client
cloud:
nacos:
discovery:
server-addr: 192.168.17.221:30569
config:
server-addr: 192.168.17.221:30569

View File

@ -6,7 +6,7 @@ spring:
password: laihui
database: 2
datasource:
url: jdbc:mysql://127.0.0.1:3306/middleground_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA
url: jdbc:mysql://127.0.0.1:3306/lazy_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA
username: root
password: wujiawei
driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -1,7 +1,9 @@
package wu.framework.lazy.cloud.heartbeat.server;
import com.wu.framework.inner.lazy.stereotype.LazyScan;
import org.springframework.context.annotation.ComponentScan;
@LazyScan(scanBasePackages = "wu.framework.lazy.cloud.heartbeat.server.infrastructure.entity")
@ComponentScan(basePackages = "wu.framework.lazy.cloud.heartbeat.server")
public class EnableHeartbeatServerAutoConfiguration {
}

View File

@ -15,7 +15,7 @@ import java.time.LocalDateTime;
**/
@Data
@Accessors(chain = true)
@LazyTable(tableName = "internal_network_penetration_mapping",schema = "middleground_cloud_netty_server",comment = "内网穿透映射")
@LazyTable(tableName = "internal_network_penetration_mapping",comment = "内网穿透映射")
@Schema(title = "internal_network_penetration_mapping",description = "内网穿透映射")
public class InternalNetworkPenetrationMappingDO {

View File

@ -16,7 +16,7 @@ import java.time.LocalDateTime;
**/
@Data
@Accessors(chain = true)
@LazyTable(tableName = "netty_client_blacklist", schema = "middleground_cloud_netty_server", comment = "客户端黑名单")
@LazyTable(tableName = "netty_client_blacklist", comment = "客户端黑名单")
@Schema(title = "netty_client_blacklist", description = "客户端黑名单")
public class NettyClientBlacklistDO {

View File

@ -17,7 +17,7 @@ import java.time.LocalDateTime;
**/
@Data
@Accessors(chain = true)
@LazyTable(tableName = "netty_client_state", schema = "middleground_cloud_netty_server", comment = "客户端状态")
@LazyTable(tableName = "netty_client_state", comment = "客户端状态")
@Schema(title = "netty_client_state", description = "客户端状态")
public class NettyClientStateDO {

View File

@ -0,0 +1,78 @@
package wu.framework.lazy.cloud.heartbeat.server.netty.config;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Role;
import wu.framework.lazy.cloud.heartbeat.server.application.InternalNetworkPenetrationMappingApplication;
import wu.framework.lazy.cloud.heartbeat.server.application.NettyClientBlacklistApplication;
import wu.framework.lazy.cloud.heartbeat.server.application.ServerNettyConfigApplication;
import wu.framework.lazy.cloud.heartbeat.server.netty.advanced.*;
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public class HeartbeatServerConfiguration {
/**
* 服务端 处理客户端心跳
*
* @return ServerChannelHeartbeatTypeAdvanced
*/
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerChannelHeartbeatTypeAdvanced serverChannelHeartbeatTypeAdvanced() {
return new ServerChannelHeartbeatTypeAdvanced();
}
/**
* 处理 服务端处理客户端数据传输
*
* @return ServerReportChannelTransferTypeAdvanced
*/
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportChannelTransferTypeAdvanced serverReportChannelTransferTypeAdvanced() {
return new ServerReportChannelTransferTypeAdvanced();
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportConnectSuccessTypeAdvanced serverReportConnectSuccessTypeAdvanced(
ServerNettyConfigApplication serverNettyConfigApplication,
NettyClientBlacklistApplication nettyClientBlacklistApplication,
InternalNetworkPenetrationMappingApplication internalNetworkPenetrationMappingApplication) {
return new ServerReportConnectSuccessTypeAdvanced(serverNettyConfigApplication, nettyClientBlacklistApplication, internalNetworkPenetrationMappingApplication);
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportDisconnectTypeAdvanced serverReportDisconnectTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
return new ServerReportDisconnectTypeAdvanced(serverNettyConfigApplication);
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportSingleClientCloseVisitorTypeAdvanced serverReportSingleClientCloseVisitorTypeAdvanced() {
return new ServerReportSingleClientCloseVisitorTypeAdvanced();
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportSingleClientRealConnectTypeAdvanced serverReportSingleClientRealConnectTypeAdvanced() {
return new ServerReportSingleClientRealConnectTypeAdvanced();
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportStagingClosedTypeAdvanced serverReportStagingClosedTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
return new ServerReportStagingClosedTypeAdvanced(serverNettyConfigApplication);
}
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@Bean
public ServerReportStagingOpenedTypeAdvanced serverReportStagingOpenedTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
return new ServerReportStagingOpenedTypeAdvanced(serverNettyConfigApplication);
}
}

View File

@ -22,14 +22,14 @@ import java.util.concurrent.TimeUnit;
*/
@Slf4j
@Configuration
public class AutoConfiguration implements CommandLineRunner {
public class ServerAutoConfiguration implements CommandLineRunner {
private final ServerProperties serverProperties;
private final NettyServerFilter nettyServerFilter;
ThreadPoolExecutor NETTY_SERVER_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS,
new ArrayBlockingQueue<>(1));
public AutoConfiguration(ServerProperties serverProperties, NettyServerFilter nettyServerFilter) {
public ServerAutoConfiguration(ServerProperties serverProperties, NettyServerFilter nettyServerFilter) {
this.serverProperties = serverProperties;
this.nettyServerFilter = nettyServerFilter;
}

View File

@ -1,3 +1,5 @@
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration,\
wu.framework.lazy.cloud.heartbeat.server.netty.config.HeartbeatServerConfiguration,\
wu.framework.lazy.cloud.heartbeat.server.netty.config.ServerAutoConfiguration

View File

@ -1 +1,3 @@
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration
wu.framework.lazy.cloud.heartbeat.server.netty.config.HeartbeatServerConfiguration
wu.framework.lazy.cloud.heartbeat.server.netty.config.ServerAutoConfiguration