File tree Expand file tree Collapse file tree 5 files changed +11
-6
lines changed
main/java/io/openmessaging/rocketmq
test/java/io/openmessaging/rocketmq/consumer Expand file tree Collapse file tree 5 files changed +11
-6
lines changed Original file line number Diff line number Diff line change 20
20
import io .openmessaging .KeyValue ;
21
21
import io .openmessaging .Message ;
22
22
import io .openmessaging .OMS ;
23
+ import io .openmessaging .exception .OMSMessageFormatException ;
23
24
import org .apache .commons .lang3 .builder .ToStringBuilder ;
24
25
25
26
public class BytesMessageImpl implements BytesMessage {
@@ -33,8 +34,12 @@ public BytesMessageImpl() {
33
34
}
34
35
35
36
@ Override
36
- public byte [] getBody () {
37
- return body ;
37
+ public <T > T getBody (Class <T > type ) throws OMSMessageFormatException {
38
+ if (type == byte [].class ) {
39
+ return (T )body ;
40
+ }
41
+
42
+ throw new OMSMessageFormatException ("" , "Cannot assign byte[] to " + type .getName ());
38
43
}
39
44
40
45
@ Override
Original file line number Diff line number Diff line change @@ -46,7 +46,7 @@ public static String buildInstanceName() {
46
46
47
47
public static org .apache .rocketmq .common .message .Message msgConvert (BytesMessage omsMessage ) {
48
48
org .apache .rocketmq .common .message .Message rmqMessage = new org .apache .rocketmq .common .message .Message ();
49
- rmqMessage .setBody (omsMessage .getBody ());
49
+ rmqMessage .setBody (omsMessage .getBody (byte []. class ));
50
50
51
51
KeyValue sysHeaders = omsMessage .sysHeaders ();
52
52
KeyValue userHeaders = omsMessage .userHeaders ();
Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ public void testPoll() {
83
83
84
84
Message message = consumer .receive ();
85
85
assertThat (message .sysHeaders ().getString (Message .BuiltinKeys .MESSAGE_ID )).isEqualTo ("NewMsgId" );
86
- assertThat (((BytesMessage ) message ).getBody ()).isEqualTo (testBody );
86
+ assertThat (((BytesMessage ) message ).getBody (byte []. class )).isEqualTo (testBody );
87
87
}
88
88
89
89
@ Test
Original file line number Diff line number Diff line change @@ -75,7 +75,7 @@ public void testConsumeMessage() {
75
75
@ Override
76
76
public void onReceived (Message message , Context context ) {
77
77
assertThat (message .sysHeaders ().getString (Message .BuiltinKeys .MESSAGE_ID )).isEqualTo ("NewMsgId" );
78
- assertThat (((BytesMessage ) message ).getBody ()).isEqualTo (testBody );
78
+ assertThat (((BytesMessage ) message ).getBody (byte []. class )).isEqualTo (testBody );
79
79
context .ack ();
80
80
}
81
81
});
Original file line number Diff line number Diff line change 592
592
<dependency >
593
593
<groupId >io.openmessaging</groupId >
594
594
<artifactId >openmessaging-api</artifactId >
595
- <version >0.3.0 -alpha</version >
595
+ <version >0.3.1 -alpha-SNAPSHOT </version >
596
596
</dependency >
597
597
<dependency >
598
598
<groupId >log4j</groupId >
You can’t perform that action at this time.
0 commit comments