From 329b257b594f284294c7e4b8a4232da2b38721c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?scnoh=28=EB=85=B8=EC=8A=B9=EC=B2=A0=29?= Date: Thu, 25 Aug 2022 10:30:24 +0900 Subject: [PATCH] =?UTF-8?q?message=20=EC=84=A4=EC=A0=95=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comn/collection/AuthCollection.java | 4 +-- .../com/palnet/process/message/Receiver.java | 22 +++++++++++++++ .../process/message/config/MessageConfig.java | 27 ++++++++++--------- .../message/producer/MessageProducer.java | 25 +++++++++-------- src/main/resources/application.yml | 1 + 5 files changed, 53 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/palnet/process/message/Receiver.java diff --git a/src/main/java/com/palnet/comn/collection/AuthCollection.java b/src/main/java/com/palnet/comn/collection/AuthCollection.java index 83864fa..8cd4363 100644 --- a/src/main/java/com/palnet/comn/collection/AuthCollection.java +++ b/src/main/java/com/palnet/comn/collection/AuthCollection.java @@ -11,7 +11,7 @@ public class AuthCollection { private Logger logger = LoggerFactory.getLogger(getClass()); - private static Set authkeyList = new HashSet<>() {}; + private static Set authkeyList = new HashSet<>(); public void reloadAuthkey() { // 인증키 하드코딩 처리 @@ -24,8 +24,6 @@ public class AuthCollection { public boolean checkAuthkey(String authKey) { boolean result = false; -// Iterator keys = authkeyList.iterator(); - for (Iterator iterator = authkeyList.iterator(); iterator.hasNext();) { String item = iterator.next(); diff --git a/src/main/java/com/palnet/process/message/Receiver.java b/src/main/java/com/palnet/process/message/Receiver.java new file mode 100644 index 0000000..aa61a67 --- /dev/null +++ b/src/main/java/com/palnet/process/message/Receiver.java @@ -0,0 +1,22 @@ +package com.palnet.process.message; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.concurrent.CountDownLatch; + +@Component +@Slf4j +public class Receiver { + + private CountDownLatch latch = new CountDownLatch(1); + + public void receiveMessage(String message) { + log.info("Received <" + message); + latch.countDown(); + } + + public CountDownLatch getLatch() { + return latch; + } +} diff --git a/src/main/java/com/palnet/process/message/config/MessageConfig.java b/src/main/java/com/palnet/process/message/config/MessageConfig.java index 1ca9b6f..e7c30d8 100644 --- a/src/main/java/com/palnet/process/message/config/MessageConfig.java +++ b/src/main/java/com/palnet/process/message/config/MessageConfig.java @@ -1,11 +1,14 @@ package com.palnet.process.message.config; +import com.palnet.process.message.Receiver; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; +import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -21,18 +24,6 @@ public class MessageConfig { this.env = env; } - @Bean - public CachingConnectionFactory cachingConnectionFactory() { - CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); - - connectionFactory.setHost(env.getProperty("spring.rabbitmq.host")); - connectionFactory.setPort(Integer.parseInt(env.getProperty("spring.rabbitmq.port"))); - connectionFactory.setUsername(env.getProperty("spring.rabbitmq.username")); - connectionFactory.setPassword(env.getProperty("spring.rabbitmq.password")); - - return connectionFactory; - } - @Bean public Jackson2JsonMessageConverter converter() { return new Jackson2JsonMessageConverter(); @@ -72,6 +63,18 @@ public class MessageConfig { .with(env.getProperty("message.websocket.routing-key")); } + @Bean + public CachingConnectionFactory cachingConnectionFactory() { + CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); + + connectionFactory.setHost(env.getProperty("spring.rabbitmq.host")); + connectionFactory.setPort(Integer.parseInt(env.getProperty("spring.rabbitmq.port"))); + connectionFactory.setUsername(env.getProperty("spring.rabbitmq.username")); + connectionFactory.setPassword(env.getProperty("spring.rabbitmq.password")); + + return connectionFactory; + } + @Bean public RabbitTemplate rabbitTemplate(CachingConnectionFactory connectionFactory, Jackson2JsonMessageConverter converter) { RabbitTemplate rabbitTemplate = new RabbitTemplate(); diff --git a/src/main/java/com/palnet/process/message/producer/MessageProducer.java b/src/main/java/com/palnet/process/message/producer/MessageProducer.java index 794e085..ebfd6e9 100644 --- a/src/main/java/com/palnet/process/message/producer/MessageProducer.java +++ b/src/main/java/com/palnet/process/message/producer/MessageProducer.java @@ -3,14 +3,15 @@ package com.palnet.process.message.producer; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.palnet.comn.model.GPDatabaseModel; import com.palnet.comn.model.GPModel; +import com.palnet.process.message.Receiver; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Component @Slf4j @@ -19,14 +20,19 @@ public class MessageProducer { private final RabbitTemplate rabbitTemplate; private final Environment env; private final ObjectMapper objectMapper; + private final Receiver receiver; - public MessageProducer(RabbitTemplate rabbitTemplate, Environment env, ObjectMapper objectMapper) { + public MessageProducer(RabbitTemplate rabbitTemplate, + Environment env, + ObjectMapper objectMapper, + Receiver receiver) { this.rabbitTemplate = rabbitTemplate; this.env = env; this.objectMapper = objectMapper; + this.receiver = receiver; } - public void sendToAppServerMessage(GPModel model){ + public void sendToAppServerMessage(GPModel model) { String json = ""; try { @@ -35,17 +41,14 @@ public class MessageProducer { e.printStackTrace(); } + log.info("send to model : {}" ,model); + rabbitTemplate.convertAndSend( - Objects.requireNonNull(env.getProperty("message.app.queue-name")), + Objects.requireNonNull(env.getProperty("message.app.exchange-name")), + Objects.requireNonNull(env.getProperty("message.app.routing-key")), json ); - } - public void sendToClientMessage(GPModel model) { - rabbitTemplate.convertAndSend( - Objects.requireNonNull(env.getProperty("message.websocket.exchange-name")), - Objects.requireNonNull(env.getProperty("message.websocket.routing-key")), - model - ); +// receiver.getLatch().await(1000, TimeUnit.MILLISECONDS); } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6359403..5a6bb59 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,6 +7,7 @@ spring: port: 5672 username: guest password: guest + virtual-host: / netty: task: