MessageBuilder.withPayload(smsMessage).setHeader("entityType", smsMessage.getClass().getName()).setHeader("routeKey", "sms").setHeader("msgId", smsId).setHeader("tenantId", ServiceContextHolder.getTenantId()).setHeader("contentType", MimeTypeUtils.APPLICATION_JSON).build();含义消息队列
时间: 2023-07-21 21:57:59 浏览: 89
这段代码是用于构建一个消息,并将消息发送到消息队列中。具体来说,代码中使用了Spring框架提供的MessageBuilder类来构建一个消息,消息的内容为smsMessage对象。除了消息内容以外,还设置了一些消息头,如"entityType"表示消息的实体类型,"routeKey"表示消息的路由键,"msgId"表示消息的唯一标识符,"tenantId"表示租户ID,"contentType"表示消息的内容类型。最后使用build()方法构建消息并发送到消息队列中。
相关问题
message.getMessageBody()
这同样是 Android 平台中的方法,用于获取接收到的短信内容。同样需要先获取短信对象,例如:
```
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null) {
// 获取短信对象
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
}
```
然后可以通过 `msgs[0].getMessageBody()` 来获取短信内容。注意,如果一条短信分为多条短信发送,则需要将多条短信的内容拼接起来才是完整的短信内容。
message.getOriginatingAddress()
这是一个 Android 平台中的方法,用于获取接收到短信的发件人地址。在使用该方法之前,需要先获取到短信的对象,例如:
```
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null) {
// 获取短信对象
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
}
```
然后可以通过 `msgs[0].getOriginatingAddress()` 来获取发件人地址。
阅读全文