java集成RabbitMQ
导入maven依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.12.0</version>
</dependency>
</dependencies>
首先在Win
dows 或者 Linux开启rabbitMQ-Server服务,再进行java代码集成。
1. 简单模式
-
编辑Util类
private static final String HOST = "192.168.43.17"; // 设置IP地址 private static final String VIRTUALHOST = "/"; // 虚拟主机 private static final String USERNAME = "guest"; // 用户名 private static final String PASSWORD = "guest"; // 密码 private static final Integer PORT = 5672; // rabbitmq-server 端口 public Connection getConnection () { Connection connection = null; // 获取链接 ConnectionFactory connectionFactory = new ConnectionFactory(); connectionFactory.setHost(HOST); connectionFactory.setVirtualHost(VIRTUALHOST); connectionFactory.setUsername(USERNAME); connectionFactory.setPassword(PASSWORD); // rabbitmq 的服务器地址 15672:给rabbitmq management web程序,插件 web端客户端管理工具 //5672:给rabbitmq-server 服务器的 connectionFactory.setPort(PORT); // 建立链接 try { Connection newConnection = connectionFactory.newConnection(); connection = newConnection; } catch (IOException e) { System.out.println("连接失败!!!"); e.printStackTrace(); } catch (TimeoutException e) { System.out.println("连接超时!!!"); e.printStackTrace(); } return connection; }
-
编写消息队列发布者
public static void main(String[] args) throws IOException, TimeoutException { Connection getConnection = new ConnectionUtil().getConnection(); // 创建频道 Channel channel = getConnection.createChannel(); /** * channel.queueDeclare("", false, true, true, (Map)null); */ // 声明队列 (队列名称 是否可持久化 是否独占 是否自动删除 配置其他参数) channel.queueDeclare("zjw_test", true, false, false, null); // 消息发布 (交换机名 路由名 其他属性 消息的字节数组) channel.basicPublish("","zjw_test",null,"Hello Word!!!".getBytes()); // 关闭连接 getConnection<