我们使用 Quarkus Messaging(带有“smallrye-jms”扩展,以便连接到 IBM MQ)和转换器,将字符串中收到的消息转换为 Java 对象。
当在“queue_A”中接收传入消息时,我们必须在以下 2 个目的地之一生成消息:
我们如何使用 Quarkus Messaging 实现此错误处理用例?
你可以这样做:
@Inject @Channel("queue_A_error")
Emitter<MyErrorMsg> emitter;
@Inject
ObjectMapper mapper;
@Incoming("incoming_queue")
@Outgoing("queue_B")
public MyMessage handleMsg(String payload) {
try {
return this.mapper.readValue(payload, MyMessage.class);
} catch (Exception e) {
this.emitter.send(new MyErrorMsg(payload, e));
return null;
}
}
注意,我没有测试此代码,希望它对您有所帮助。