Recv class 에도 똑같이 Queue_name을 선언해 주고, 서버와의 연결을 만들어 준다.
private final static String QUEUE_NAME = "hello";
public static void main(String[] args) throws Exception {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
다음 대기열을 선언한다.
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println("[*] Waiting for messages, To exit press CTRL+C" +
"[*] 메세지를 기다리는 중입니다. 종료하려면 CTRL+C를 누르십시오.");
다음 DeliverCallback Interface를 사용하여 메세지 데이터를 받을때 까지 버퍼링을 시켜주고, 받게된다면 byte문자열을 String의 형태로 받는다.
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
String message = new String(delivery.getBody(), StandardCharsets.UTF_8);
System.out.println(" [X] Received '" + message + "'");
};
channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> {
});
전체 코드:
package recv;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DeliverCallback;
import java.nio.charset.StandardCharsets;
public class Recv {
private final static String QUEUE_NAME = "hello";
public static void main(String[] args) throws Exception {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println("[*] Waiting for messages, To exit press CTRL+C" +
"[*] 메세지를 기다리는 중입니다. 종료하려면 CTRL+C를 누르십시오.");
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
String message = new String(delivery.getBody(), StandardCharsets.UTF_8);
System.out.println(" [X] Received '" + message + "'");
};
channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> {
});
}
}
'개발 공부' 카테고리의 다른 글
RabbitMQ 작업대기열(Work Queue) Java 2 (0) | 2023.06.14 |
---|---|
RabbitMQ 작업대기열(Work Queue) Java (0) | 2023.06.13 |
RabbitMQ Sendding Java (0) | 2023.06.13 |
RabbitMQ 사용해 보기 Java (0) | 2023.06.13 |
Selenium 과 Selenide (0) | 2023.06.08 |