我正在尝试实现一些CloudEvent
演示。
我有一个 hew spring boot 服务RabbitMQ
作为消息总线,它们都将消息发送到队列,并且一个监听队列消息。
我尝试包装我的信息CloudEvent
以使它们更标准。
我使用以下代码将消息(数据)包装为CloudEvent
.
try {
inputEvent = CloudEventBuilder.v1()
.withSource(new URI("app://" + messageData.getChangeRequestId().toString()))
.withDataContentType("application/json")
.withId(messageData.myId().toString())
.withType("com.data.BaseMessageData")
.withData(objMapper.writeValueAsBytes(eventData))
.build();
} catch (Exception e) {
throw new MyMessagingException("Failed to convert the message into json. (See inner exception for further details)", e);
}
由于消息CloudEventData
是基于字节的,因此数据被转换为字节。
当然,在我的侦听器方法上,由于SimpleMessageConverter
无法处理字节数组,我得到了异常。现在,我可以尝试实现一些自定义消息处理程序或尝试查看CloudEvent
AMQP 建议的绑定解决方案,但我并不热衷于它涉及的代码量,如果不是绝对必要的话,我不想涉及更多技术。
- 我应该走这条路并实现自定义消息转换器吗?
- 是否有任何其他标准解决方案可以通过 qeeus 标准化服务消息传递?