yangyoupeng

topicProducer测试

......@@ -134,7 +134,7 @@ public class TestTopicProducer {
//MessageID:18AF66F22CD8C6A-1-158A948D08F-200000001,MessageMD5:54B0C58C7CE9F2A8B551351102EE0938,
System.out.println(msg);
Consumer consumer=builder.buildConsumer("testQueue1");
MessageObject object= consumer.popMessage();
MessageObject object= consumer.popMessageObject();
//MessageID:54153599B8D016BF-1-158A948DAA3-200000001,MessageMD5:54B0C58C7CE9F2A8B551351102EE0938,RequestID:583BB887048A930DC9816DB8,MessageBody:"���ƭz�",ReceiptHandle:"1-ODU4OTkzNDU5My0xNDgwMzA4OTAzLTEtOA==",DequeueCount:"1",EnqueueTime:"Mon Nov 28 12:54:33 CST 2016",FirstDequeueTime:"Mon Nov 28 12:54:33 CST 2016",NextVisibleTime:"Mon Nov 28 12:55:03 CST 2016",Priority:"8"
System.out.println(object.getMessage());
System.out.println(object.getMessage().getMessageBodyAsRawString());
......@@ -160,7 +160,7 @@ public class TestTopicProducer {
System.out.println(msg);
Consumer consumer=builder.buildConsumer("testQueue1");
MessageObject object= consumer.popMessage();
MessageObject object= consumer.popMessageObject();
//MessageID:54153599B8D016BF-1-158A948DAA3-200000001,MessageMD5:54B0C58C7CE9F2A8B551351102EE0938,RequestID:583BB887048A930DC9816DB8,MessageBody:"���ƭz�",ReceiptHandle:"1-ODU4OTkzNDU5My0xNDgwMzA4OTAzLTEtOA==",DequeueCount:"1",EnqueueTime:"Mon Nov 28 12:54:33 CST 2016",FirstDequeueTime:"Mon Nov 28 12:54:33 CST 2016",NextVisibleTime:"Mon Nov 28 12:55:03 CST 2016",Priority:"8"
System.out.println("----first Pop------"+object.getMessage());
KyroTestObject testObjectFromAliyunMns= object.toObject(KyroTestObject.class);
......@@ -169,7 +169,7 @@ public class TestTopicProducer {
Assert.assertEquals(testObject.getName(), testObjectFromAliyunMns.getName());
//第二次pop。返回的是null。返回之间需要等待timeout
MessageObject object2= consumer.popMessage(4);
MessageObject object2= consumer.popMessageObject(4);
Assert.assertNull(object2.getMessage());
System.out.println("-------second pop----------"+object2.getMessage());
......@@ -205,7 +205,7 @@ public class TestTopicProducer {
MessageObject object= null;
int count =1000;
while( count > 0){
object= consumer.peekMessage();
object= consumer.peekMessageObject();
if(object.getMessage() !=null){
break;
}
......@@ -221,7 +221,7 @@ public class TestTopicProducer {
Assert.assertEquals(testObject.getName(), testObjectFromAliyunMns.getName());
//第二次pop。返回的是null。返回之间需要等待timeout
MessageObject object2= consumer.peekMessage();
MessageObject object2= consumer.peekMessageObject();
Assert.assertNotNull(object2);
KyroTestObject testObjectFromAliyunMns2= object2.toObject(KyroTestObject.class);
Assert.assertEquals(testObject.getId(), testObjectFromAliyunMns2.getId());
......@@ -232,4 +232,59 @@ public class TestTopicProducer {
topicProducer.deleteTopic(true);
}
@Test
public void testAddQueue2ExistedTopic() throws Exception{
String topicName="testTopic1";
//createQueue=false的是时候,只会创建topic,而不会创建queue,测试如果publish的时候就会报异常错误
String testQueue1 = "testQu1eue";
String testQueue2 = "testQ1ueu";
TopicProducer topic=builder.buildTopic(topicName);
topic.deleteTopic();
CloudPullTopicProducer topicProducer=builder.buildCloudTopic(topicName,true, testQueue1);
KyroTestObject testObject =new KyroTestObject();
testObject.setId(1);
testObject.setName("helloworld");
TopicMessage msg= topicProducer.send(testObject,"1","testTag");
//MessageID:18AF66F22CD8C6A-1-158A948D08F-200000001,MessageMD5:54B0C58C7CE9F2A8B551351102EE0938,
System.out.println(msg);
Consumer consumer1=builder.buildConsumer(testQueue1);
MessageObject object= consumer1.popMessageObject();
System.out.println("------pop before create new consumser queue for consumer 1---------"+object.getMessage().getMessageBodyAsRawString());
//支持重复创建。相同的queue
topicProducer=builder.buildCloudTopic(topicName,true,testQueue1);
topicProducer=builder.buildCloudTopic(topicName,true,testQueue2);
KyroTestObject testObject2 =new KyroTestObject();
testObject2.setId(2);
testObject2.setName("helloworld");
TopicMessage msg2= topicProducer.send(testObject2);
System.out.println("----------"+msg2);
MessageObject object1= consumer1.popMessageObject();
System.out.println("------pop after create new consumser queue for consumer 1---------"+object1.getMessage().getMessageBodyAsRawString());
//若queue不存在那就会抛出异常。
Consumer consumer2=builder.buildConsumer(testQueue2);
MessageObject object2 = consumer2.popMessageObject();
System.out.println("------pop for new created consumer 2---------"+object2.getMessage().getMessageBodyAsRawString());
Assert.assertEquals(object1.getMessage().getMessageBodyAsRawString(), object2.getMessage().getMessageBodyAsRawString());
topicProducer.deleteTopic(true);
}
}
......