安装好mq之后,需要在服务器的mq中创建一个虚拟主机。 虚拟主机类似于数据库, 队列就是库里的表。
生产者向队列发送消息时, 是通过通道来发送的, 所以代码中创建完和虚拟主机的连接后, 还要创建通道和队列的连接。 队列可以从mq 服务器UI界面上添加,也可以通过代码来添加。
持久化的含义是:当队列被删除时,删除前进行持久化。
exclusive含义是: 是否允许当前连接独占队列。 当允许独占时, 只要当前连接没有被关闭, 其他连接不能连此队列。
mq 队列默认5秒刷新一次界面。
关于mq的一些参数说明:
在通道绑定队列时, 设置了队列的持久化。 若队列支持持久化 ,则在重启mq的时候,mq将队列从内存写到磁盘, 待到mq重启后, 再将磁盘的队列写到内存。 但是这种持久化只是队列的持久化,只能保证
mq重启后队列不丢失。 如果队列中存有消息, 重启后消息依然会丢失。
如何使消息也不丢失? 在用通道发送消息是, 设置一个参数即可。 basicProtertic 的参数可以设置mq重启后消息的持久化。
还可以设置度列是否独享, 若设置了独享, 则其他的链接和通道都不能访问队列。
可以设置队列在消费者消费完成后自动删除。 这里的自动删除所满足的条件时:在消费者消费完队列中的消息后,消费者和队列断开链接才可以自动删除。 如果只是消费了消息而没有断开链接,则依然
不删除队列。