package cn.hezhaohui.mq; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.nio.charset.StandardCharsets; import java.util.Scanner; public class Publisher { private static final String EXCHANGE_NAME = "direct_logs"; public static void main(String[] args) throws Exception{ ConnectionFactory factory = new ConnectionFactory(); try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); Scanner scanner = new Scanner(System.in)) { channel.exchangeDeclare(EXCHANGE_NAME, "direct"); while (true) { String msg = scanner.nextLine(); String type = scanner.nextLine(); if (msg.equals("exit")) { break; } channel.basicPublish(EXCHANGE_NAME, type, null, msg.getBytes(StandardCharsets.UTF_8)); System.out.println("[" + type + "] " + msg); } } } }