gpt4 book ai didi

java - 在 JMS 中使用 bytemessage 代替 objectMessage

转载 作者:行者123 更新时间:2023-12-01 14:47:57 26 4
gpt4 key购买 nike

我在我的架构中以多种方式使用 JMS。

延迟和性能是我们架构中非常重要的因素。

我读到,使用 jms 和 ObjectMessage 来传递消息中的整个 java 对象需要大量的性能。

替代解决方案是转换为 json、protobuff 并将消息作为字节消息/文本消息发送。

您能帮我解释一下吗:

  1. 如果我选择 json。从 String 转换为 json 后我应该发送消息
    作为测试还是作为 ByteArray? (有什么区别吗?)

  2. 是发送方将String转换为json的总时间
    反之亦然,在消费者方面会比仅发送 ObjectMessage 更少/更多?

谢谢,射线。

最佳答案

只是我的2美分

1) IMO,您应该使用 TextMessage 发送 String 中的数据并将其反序列化为 Json 对象。 我无法告诉您确切的性能统计数据,但我猜序列化比编码更好,因为当您将其重建为对象时,它的开销更少。

Comparing Marshalling with serialization

2)此外,只需避免将数据作为对象流发送, 消息可以由非基于 java 的消息解决方案接收和处理

来自Java Dzone

A big downside of Externalizable is that you have to maintain this logic yourself – if you add, remove or change a field in your class, you have to change your writeExternal/readExternal methods to account for it.

关于java - 在 JMS 中使用 bytemessage 代替 objectMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218386/

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