- ConnectionFactory:获取连接工厂
- Connection:一个连接
- Channel:数据通信信道,可发送和接收信息
- Queue:具体的消息存储队列
- Producer& Consumer 生产和消费者
public class Procuder {
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory connectionFactory =new ConnectionFactory();
connectionFactory.setHost("***");
connectionFactory.setPort(5672);
connectionFactory.setUsername("***");
connectionFactory.setPassword("***");
connectionFactory.setVirtualHost("/");
Connection connections = connectionFactory.newConnection();
Channel channel =connections.createChannel();
String msg= "Hellow RabbitMQ";
for(int i=0;i<5;i++){
channel.basicPublish("","test001",null,msg.getBytes());
}
}
}
public class Consumer {
public static void main(String[] args) throws IOException, TimeoutException, InterruptedException {
ConnectionFactory connectionFactory =new ConnectionFactory();
connectionFactory.setHost("****");
connectionFactory.setPort(5672);
connectionFactory.setUsername("***");
connectionFactory.setPassword("***");
connectionFactory.setVirtualHost("/");
Connection connections = connectionFactory.newConnection();
Channel channel =connections.createChannel();
String quename="test001";
channel.queueDeclare(quename,true,false,false,null);
QueueingConsumer queueingConsumer =new QueueingConsumer(channel);
channel.basicConsume(quename,true,queueingConsumer);
while(true){
QueueingConsumer.Delivery deliver = queueingConsumer.nextDelivery();
String msg =new String(deliver.getBody());
System.out.println("消费端:" +msg);
Envelope envelope =deliver.getEnvelope();
}
}
}