Browse Source

message 설정 변경

master
노승철 2 years ago
parent
commit
329b257b59
  1. 4
      src/main/java/com/palnet/comn/collection/AuthCollection.java
  2. 22
      src/main/java/com/palnet/process/message/Receiver.java
  3. 27
      src/main/java/com/palnet/process/message/config/MessageConfig.java
  4. 25
      src/main/java/com/palnet/process/message/producer/MessageProducer.java
  5. 1
      src/main/resources/application.yml

4
src/main/java/com/palnet/comn/collection/AuthCollection.java

@ -11,7 +11,7 @@ public class AuthCollection {
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
private static Set<String> authkeyList = new HashSet<>() {}; private static Set<String> authkeyList = new HashSet<>();
public void reloadAuthkey() { public void reloadAuthkey() {
// 인증키 하드코딩 처리 // 인증키 하드코딩 처리
@ -24,8 +24,6 @@ public class AuthCollection {
public boolean checkAuthkey(String authKey) { public boolean checkAuthkey(String authKey) {
boolean result = false; boolean result = false;
// Iterator<String> keys = authkeyList.iterator();
for (Iterator<String> iterator = authkeyList.iterator(); iterator.hasNext();) { for (Iterator<String> iterator = authkeyList.iterator(); iterator.hasNext();) {
String item = iterator.next(); String item = iterator.next();

22
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;
}
}

27
src/main/java/com/palnet/process/message/config/MessageConfig.java

@ -1,11 +1,14 @@
package com.palnet.process.message.config; package com.palnet.process.message.config;
import com.palnet.process.message.Receiver;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.*; import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate; 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.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -21,18 +24,6 @@ public class MessageConfig {
this.env = env; 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 @Bean
public Jackson2JsonMessageConverter converter() { public Jackson2JsonMessageConverter converter() {
return new Jackson2JsonMessageConverter(); return new Jackson2JsonMessageConverter();
@ -72,6 +63,18 @@ public class MessageConfig {
.with(env.getProperty("message.websocket.routing-key")); .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 @Bean
public RabbitTemplate rabbitTemplate(CachingConnectionFactory connectionFactory, Jackson2JsonMessageConverter converter) { public RabbitTemplate rabbitTemplate(CachingConnectionFactory connectionFactory, Jackson2JsonMessageConverter converter) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(); RabbitTemplate rabbitTemplate = new RabbitTemplate();

25
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.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.palnet.comn.model.GPDatabaseModel;
import com.palnet.comn.model.GPModel; import com.palnet.comn.model.GPModel;
import com.palnet.process.message.Receiver;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.TimeUnit;
@Component @Component
@Slf4j @Slf4j
@ -19,14 +20,19 @@ public class MessageProducer {
private final RabbitTemplate rabbitTemplate; private final RabbitTemplate rabbitTemplate;
private final Environment env; private final Environment env;
private final ObjectMapper objectMapper; 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.rabbitTemplate = rabbitTemplate;
this.env = env; this.env = env;
this.objectMapper = objectMapper; this.objectMapper = objectMapper;
this.receiver = receiver;
} }
public void sendToAppServerMessage(GPModel model){ public void sendToAppServerMessage(GPModel model) {
String json = ""; String json = "";
try { try {
@ -35,17 +41,14 @@ public class MessageProducer {
e.printStackTrace(); e.printStackTrace();
} }
log.info("send to model : {}" ,model);
rabbitTemplate.convertAndSend( 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 json
); );
}
public void sendToClientMessage(GPModel model) { // receiver.getLatch().await(1000, TimeUnit.MILLISECONDS);
rabbitTemplate.convertAndSend(
Objects.requireNonNull(env.getProperty("message.websocket.exchange-name")),
Objects.requireNonNull(env.getProperty("message.websocket.routing-key")),
model
);
} }
} }

1
src/main/resources/application.yml

@ -7,6 +7,7 @@ spring:
port: 5672 port: 5672
username: guest username: guest
password: guest password: guest
virtual-host: /
netty: netty:
task: task:

Loading…
Cancel
Save