延迟消息投递
public void timingSend(String message, String queueName, Long timeStamp) { //获取连接工厂 ConnectionFactory connectionFactory = this.jmsMessagingTemplate.getConnectionFactory(); try { //获取连接 Connection connection = connectionFactory.createConnection(); connection.start(); //获取session Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); // 创建一个消息队列 Destination destination = session.createQueue(queueName); MessageProducer producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.PERSISTENT); TextMessage textMessage = session.createTextMessage(message); //设置延迟时间 textMessage.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, timeStamp-System.currentTimeMillis()); //发送 producer.send(textMessage); session.commit(); producer.close(); session.close(); connection.close(); } catch (Exception e) { e.getMessage(); } }