[fix] 修改bean 手动注入

This commit is contained in:
wujiawei 2024-01-11 10:52:47 +08:00
parent af418faf28
commit 60eb66c2aa
11 changed files with 188 additions and 47 deletions

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,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,28 +27,28 @@
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration>
<!-- imageName用于设置生成的二进制文件名称 -->
<imageName>${project.artifactId}</imageName>
<!-- mainClass用于指定main方法类路径 -->
<mainClass>wu.framework.lazy.cloud.heartbeat.client.LazyCloudHeartbeatClient</mainClass>
<buildArgs>
--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.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 +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

@ -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