in src/main/java/com/aliyun/mns/client/DefaultMNSClient.java [248:280]
public CloudPullTopic createPullTopic(TopicMeta topicMeta, Vector<String> queueNameList, boolean needCreateQueue,
QueueMeta queueMetaTemplate) throws ClientException, ServiceException {
if (queueNameList == null || queueNameList.size() <= 0) {
throw new IllegalArgumentException("queueNameList should not be null or empty.");
}
Vector<CloudQueue> queueList = new Vector<CloudQueue>();
if (needCreateQueue) {
QueueMeta queueMeta = null;
if (queueMetaTemplate != null) {
queueMeta = queueMetaTemplate;
} else {
queueMeta = new QueueMeta();
queueMeta.setPollingWaitSeconds(30);
//add some default settings;
}
for (int i = 0; i < queueNameList.size(); i++) {
String queueName = queueNameList.get(i);
queueMeta.setQueueName(queueName);
CloudQueue queue = new CloudQueue(queueName, this.serviceClient, this.credentials, this.endpoint);
queue.create(queueMeta);
queueList.add(queue);
}
} else {
for (int i = 0; i < queueNameList.size(); i++) {
String queueName = queueNameList.get(i);
CloudQueue queue = new CloudQueue(queueName, this.serviceClient, this.credentials,
this.endpoint);
queueList.add(queue);
}
}
CloudTopic rawTopic = this.createTopic(topicMeta);
return new CloudPullTopic(rawTopic, queueNameList, queueList);
}