ConcreteDelayConsumer
DefaultConsumerFactory
ConnectionFactory connectionFactory;RabbitAdmin admin;SimpleMessageConverter simpleMessageConverter ;String context;TopicExchange topicExchange;
addMessageListener(consumers)declareAndGetQueueName(consumer)
ConcreteConsumer
YhMessageConsumer
String getMessageTopic();void handleMessage(Object message);
DelayConsumerFactory
ConnectionFactory connectionFactory;RabbitAdmin admin;SimpleMessageConverter simpleMessageConverter ;String context;TopicExchange topicExchange;TopicExchange expireExchange;
addMessageListener(consumers)declareExpiredQueue(consumer)declareTimeQueue(consumer)
YhDelayMessageConsumer
int getDelayInMinutes();String getMessageTopic();void handleMessage(Object message);
YhProducerTemplate
AmqpTemplate amqpTemplate