|
@@ -1,5 +1,6 @@
|
|
|
package space.anyi.rabbitMQ_learn.ttl;
|
|
package space.anyi.rabbitMQ_learn.ttl;
|
|
|
|
|
|
|
|
|
|
+import com.rabbitmq.client.AMQP;
|
|
|
import com.rabbitmq.client.Channel;
|
|
import com.rabbitmq.client.Channel;
|
|
|
import com.rabbitmq.client.Connection;
|
|
import com.rabbitmq.client.Connection;
|
|
|
import com.rabbitmq.client.ConnectionFactory;
|
|
import com.rabbitmq.client.ConnectionFactory;
|
|
@@ -28,8 +29,18 @@ public class Producer {
|
|
|
//创建信息队列时,通过arguments设置队列的过期时间
|
|
//创建信息队列时,通过arguments设置队列的过期时间
|
|
|
channel.queueDeclare(QUEUE_NAME, false, false, false, arguments);
|
|
channel.queueDeclare(QUEUE_NAME, false, false, false, arguments);
|
|
|
String message = "Hello World!";
|
|
String message = "Hello World!";
|
|
|
- channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
|
|
|
|
|
|
|
+ //创建一个信息的额外配置,设置消息的过期时间为十秒钟
|
|
|
|
|
+ AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder()
|
|
|
|
|
+ .expiration(10*1000+"")
|
|
|
|
|
+ .build();
|
|
|
|
|
+ //在发布信息时给特定信息指定过期时间
|
|
|
|
|
+ channel.basicPublish("", QUEUE_NAME, properties, message.getBytes());
|
|
|
System.out.println(" [x] Sent '" + message + "'");
|
|
System.out.println(" [x] Sent '" + message + "'");
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总结:
|
|
|
|
|
+ * 给信息队列设置的过期时间对信息队列中的每一条信息都生效
|
|
|
|
|
+ * 给信息设置的过期时间只对这条信息生效
|
|
|
|
|
+ */
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|