diff --git a/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQConstants.java b/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQConstants.java index 1f09187..fb819dd 100644 --- a/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQConstants.java +++ b/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQConstants.java @@ -2,4 +2,7 @@ package com.bwie.common.constants; public class RabbitMQConstants { public static final String SEND_SMS_QUEUE = "send_sms_queue"; + public static final String SENDCODEQUEUE = "queue_one"; + public static final String SENDCODEEXCHANGE = "Exchange_one"; + public static final String SENDCODEKEY = "key_one"; } diff --git a/bwie-es/pom.xml b/bwie-es/pom.xml new file mode 100644 index 0000000..f7c6dec --- /dev/null +++ b/bwie-es/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + com.bwie + Java-glob + 1.0-SNAPSHOT + + + bwie-es + + + + + + + com.bwie + bwie-common + + + javax.servlet + servlet-api + + + + + org.springframework.boot + spring-boot-starter-web + + + + diff --git a/bwie-es/src/main/java/com/bwie/EslactionAppliction.java b/bwie-es/src/main/java/com/bwie/EslactionAppliction.java new file mode 100644 index 0000000..9908a32 --- /dev/null +++ b/bwie-es/src/main/java/com/bwie/EslactionAppliction.java @@ -0,0 +1,20 @@ +package com.bwie; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * @author gxb + * @description TODO + * @date 2024-01-23 19:23 + */ +@SpringBootApplication +@EnableFeignClients(basePackages = {"com.bwie"}) +@EnableScheduling +public class EslactionAppliction { + public static void main(String[] args) { + SpringApplication.run(EslactionAppliction.class,args); + } +} diff --git a/bwie-es/src/main/java/com/bwie/config/EsConfig.java b/bwie-es/src/main/java/com/bwie/config/EsConfig.java new file mode 100644 index 0000000..d6a3609 --- /dev/null +++ b/bwie-es/src/main/java/com/bwie/config/EsConfig.java @@ -0,0 +1,32 @@ +package com.bwie.config; + +/** + * @author gxb + * @description TODO + * @date 2023-11-29 11:50 + */ + +import lombok.Data; +import org.apache.http.HttpHost; +import org.elasticsearch.client.RestClient; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 配置 + */ +@Configuration +@ConfigurationProperties(prefix = "es") +@Data +public class EsConfig { + private String host; + private int port; + private String scheme; + //初始化 + @Bean + public RestHighLevelClient restHighLevelClient(){ + return new RestHighLevelClient(RestClient.builder(new HttpHost(host,port,scheme))); + } +} \ No newline at end of file diff --git a/bwie-es/src/main/resources/bootstrap.yml b/bwie-es/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..de109d7 --- /dev/null +++ b/bwie-es/src/main/resources/bootstrap.yml @@ -0,0 +1,39 @@ +# Tomcat +server: + port: 9005 +# Spring +spring: + + elasticsearch: + + rest: + + uris: http://43.143.161.183:9200 + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-es + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 43.143.161.183:8848 + config: + # 配置中心地址 + server-addr: 43.143.161.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +es: + host: 43.143.161.183 + port: 9200 + scheme: http diff --git a/bwie-mq/pom.xml b/bwie-mq/pom.xml new file mode 100644 index 0000000..f8ab2ad --- /dev/null +++ b/bwie-mq/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + com.bwie + Java-glob + 1.0-SNAPSHOT + + + bwie-mq + + + + + com.bwie + bwie-common + + + javax.servlet + servlet-api + + + + + org.springframework.boot + spring-boot-starter-web + + + + diff --git a/bwie-mq/src/main/java/com/bwie/Main.java b/bwie-mq/src/main/java/com/bwie/Main.java new file mode 100644 index 0000000..4682879 --- /dev/null +++ b/bwie-mq/src/main/java/com/bwie/Main.java @@ -0,0 +1,12 @@ +package com.bwie; + +/** + * @author gxb + * @description TODO + * @date 2023-11-25 8:16 + */ +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/bwie-mq/src/main/java/com/bwie/RabbitMqAppliction.java b/bwie-mq/src/main/java/com/bwie/RabbitMqAppliction.java new file mode 100644 index 0000000..ddb5c81 --- /dev/null +++ b/bwie-mq/src/main/java/com/bwie/RabbitMqAppliction.java @@ -0,0 +1,16 @@ +package com.bwie; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author gxb + * @description TODO + * @date 2024-01-23 19:22 + */ +@SpringBootApplication +public class RabbitMqAppliction { + public static void main(String[] args) { + SpringApplication.run(RabbitMqAppliction.class,args); + } +} diff --git a/bwie-mq/src/main/java/com/bwie/mq/config/MqConfig.java b/bwie-mq/src/main/java/com/bwie/mq/config/MqConfig.java new file mode 100644 index 0000000..7747911 --- /dev/null +++ b/bwie-mq/src/main/java/com/bwie/mq/config/MqConfig.java @@ -0,0 +1,76 @@ +package com.bwie.mq.config; + + +import com.bwie.common.constants.RabbitMQConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.core.*; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.web.bind.annotation.ExceptionHandler; + +/** + * @author gxb + * @description TODO + * @date 2023-12-22 17:19 + */ +@Configuration +public class MqConfig implements RabbitTemplate.ConfirmCallback,RabbitTemplate.ReturnsCallback { + private RabbitTemplate rabbitTemplate; + private static final Logger logger = LoggerFactory.getLogger(MqConfig.class); + //消息转换 + @Bean + public MessageConverter messageConverter(){ + return new Jackson2JsonMessageConverter(); + } + //创建队列 + @Bean + public Queue queue(){ + return new Queue(RabbitMQConstants.SENDCODEQUEUE,true); + } + //创建交换机 + @Bean + public DirectExchange directExchange(){ + return new DirectExchange(RabbitMQConstants.SENDCODEEXCHANGE); + } + //绑定交换机和队列 + @Bean + public Binding binding(){ + return BindingBuilder.bind(queue()).to(directExchange()).with(RabbitMQConstants.SENDCODEKEY); + } + //初始化 + public void RabbitTemplate(){ + rabbitTemplate.setConfirmCallback(this); + rabbitTemplate.setReturnsCallback(this); + } + @Primary + @Bean + public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory){ + RabbitTemplate rabbitTemplate1 = new RabbitTemplate(connectionFactory); + this.rabbitTemplate=rabbitTemplate1; + rabbitTemplate.setMessageConverter(messageConverter()); + RabbitTemplate(); + return rabbitTemplate1; + } + + + @Override + public void confirm(CorrelationData correlationData, boolean b, String s) { +if (b){ + logger.info("{}消息成功到达交换机",correlationData.getId()); +}else { + logger.error("{}消息丢失",correlationData.getId()); +} + } + + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { +logger.error("{}消息为进入队列",returnedMessage.getMessage().getMessageProperties().getMessageId()); + } +} diff --git a/bwie-mq/src/main/resources/bootstrap.yml b/bwie-mq/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..1bf93a7 --- /dev/null +++ b/bwie-mq/src/main/resources/bootstrap.yml @@ -0,0 +1,30 @@ +# Tomcat +server: + port: 9003 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-mq + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 43.143.161.183:8848 + config: + # 配置中心地址 + server-addr: 43.143.161.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + diff --git a/pom.xml b/pom.xml index f1dd84e..6650d97 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,8 @@ bwie-common bwie-modules bwie-api + bwie-es + bwie-mq