1
2
3
4
5 package org.codehaus.activemq.message;
6
7 import java.io.IOException;
8 import java.util.Hashtable;
9
10 import javax.jms.JMSException;
11
12 import org.codehaus.activemq.message.ActiveMQObjectMessage;
13 import org.codehaus.activemq.message.ActiveMQObjectMessageReader;
14 import org.codehaus.activemq.message.ActiveMQObjectMessageWriter;
15 import org.codehaus.activemq.message.Packet;
16
17 /***
18 * @author Rob To change the template for this generated type comment go to Window - Preferences - Java - Code
19 * Generation - Code and Comments
20 */
21 public class ActiveMQObjectMessageReaderTest extends ActiveMQMessageReaderTest {
22
23 private Hashtable table;
24 public static void main(String[] args) {
25 junit.textui.TestRunner.run(ActiveMQObjectMessageReaderTest.class);
26 }
27
28
29
30
31 protected void setUp() throws Exception {
32 super.setUp();
33 this.table = new Hashtable();
34 for(int i = 0; i < 10; i++){
35 String str = "test" +i;
36 this.table.put(str,str);
37 }
38 }
39
40
41
42
43 protected void tearDown() throws Exception {
44 super.tearDown();
45 }
46
47 /***
48 * Constructor for ActiveMQTextMessageReaderTest.
49 *
50 * @param arg0
51 */
52 public ActiveMQObjectMessageReaderTest(String arg0) {
53 super(arg0);
54 }
55
56 public void testGetPacketType() {
57 ActiveMQObjectMessage msg = new ActiveMQObjectMessage();
58 assertTrue(msg.getPacketType() == Packet.ACTIVEMQ_OBJECT_MESSAGE);
59 }
60
61 public void testReadPacket() {
62 ActiveMQObjectMessageReader reader = new ActiveMQObjectMessageReader();
63 ActiveMQObjectMessageWriter writer = new ActiveMQObjectMessageWriter();
64 ActiveMQObjectMessage msg1 = new ActiveMQObjectMessage();
65 try {
66 msg1.setObject(this.table);
67 super.initializeMessage(msg1);
68 byte[] data = writer.writePacketToByteArray(msg1);
69 ActiveMQObjectMessage msg2 = (ActiveMQObjectMessage) reader.readPacketFromByteArray(data);
70 super.testEquals(msg1, msg2);
71 assertTrue(msg1.getObject().equals(msg2.getObject()));
72 }
73 catch (IOException e) {
74 e.printStackTrace();
75 assertTrue(false);
76 }
77 catch (JMSException ex) {
78 ex.printStackTrace();
79 assertTrue(false);
80 }
81 }
82
83 public void testTime(){
84
85 ActiveMQObjectMessageReader reader = new ActiveMQObjectMessageReader();
86 ActiveMQObjectMessageWriter writer = new ActiveMQObjectMessageWriter();
87 ActiveMQObjectMessage msg1 = new ActiveMQObjectMessage();
88
89 ActiveMQObjectMessage msg2 = null;
90 try {
91 int count = 10000;
92 long startTime = System.currentTimeMillis();
93
94 msg1.setObject(this.table);
95 super.initializeMessage(msg1);
96 for (int i = 0; i < count; i++){
97 byte[] data = writer.writePacketToByteArray(msg1);
98 msg2 = (ActiveMQObjectMessage) reader.readPacketFromByteArray(data);
99 }
100 long finishTime = System.currentTimeMillis();
101 long totalTime = finishTime-startTime;
102 long ps = (count * 1000)/totalTime;
103 System.out.println("Time taken :" + totalTime + " for " + count + "iterations, = " + ps +" per sec.");
104
105 }catch(Throwable e){
106 e.printStackTrace();
107 assertTrue(false);
108 }
109 }
110
111 }