gpt4 book ai didi

java - 使用序列化为 json 的不同消息类型

转载 作者:行者123 更新时间:2023-11-30 02:30:05 27 4
gpt4 key购买 nike

我有一个 PHP 生产者和 Java 消费者,它们将通过 RabbitMQ 进行通信。他们将使用三种不同的消息类型。如果生产者也是一个 Java 应用程序,我可以将对象序列化为原始对象,然后在消费者中执行以下操作:

    Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
Object deserializedBody = SerializationUtils.deserialize(body);
if (deserializedBody instanceof TypeOne) {
TypeOne typeOne = (TypeOne) deserializedBody;
// process with corresponding code
} else if (deserializedBody instanceof TypeTwo) {
TypeTwo typeTwo = (TypeTwo) deserializedBody;
// process with corresponding code
} else if (deserializedBody instanceof TypeThree) {
TypeThree typeThree = (TypeThre) deserializedBody;
// process with corresponding code
} else {
// throw exception
}
}
};

但是由于我的生产者使用 PHP,我必须将消息序列化为 JSON 字符串。

如何区分这三种消息类型?

最佳答案

AMQP 中的消息具有属性,您可以定义一个供自己使用的属性,指定消息的类型。但大多数时候人们选择使用“内容类型”和“内容编码”。

关于java - 使用序列化为 json 的不同消息类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44515794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com