diff --git a/mallinkMQConsumer/src/main/java/com/iformall/mq/impl/RabbitMqConsumer.java b/mallinkMQConsumer/src/main/java/com/iformall/mq/impl/RabbitMqConsumer.java index 343777e32..d81e189c1 100644 --- a/mallinkMQConsumer/src/main/java/com/iformall/mq/impl/RabbitMqConsumer.java +++ b/mallinkMQConsumer/src/main/java/com/iformall/mq/impl/RabbitMqConsumer.java @@ -16,7 +16,7 @@ import javax.annotation.PostConstruct; @Profile(MQConfig.Impl.RABBIT_MQ) public class RabbitMqConsumer extends MqBaseConsumer { //String queueName = "topic-1"; - String queuenames = ""; + private String[] queuenames = null; @Autowired private AmqpAdmin amqpAdmin; @@ -30,10 +30,6 @@ public class RabbitMqConsumer extends MqBaseConsumer { amqpAdmin.declareExchange(exchange); amqpAdmin.declareQueue(queue); amqpAdmin.declareBinding(binding); - queuenames = queuenames +","+topic.getCode(); - } - if (queuenames.length()>0) { - queuenames = queuenames.substring(0, queuenames.length()-1); } } @@ -46,11 +42,19 @@ public class RabbitMqConsumer extends MqBaseConsumer { @Bean - public Queue fmRabbitmaQueue(){ - return new Queue(queuenames,true); + public String[] fmRabbitmaQueues(){ + if (null == queuenames) { + queuenames = new String[EnumMsgMqTopic.values().length]; + int i = 0 ; + for (EnumMsgMqTopic topic: EnumMsgMqTopic.values()) { + queuenames[i] = topic.getCode(); + i ++; + } + } + return queuenames; } - @RabbitListener(queues = "#{fmRabbitmaQueue.name}") + @RabbitListener(queues = {"#{fmRabbitmaQueues}"}) public void onMessage(String message) { doMessage(message); }