在JMS性能方面,我已经读到出于性能原因应避免使用ObjectMessage。

ObjectMessage在性能方面有多糟糕?
我应该序列化为BytesMessage并手动反序列化吗?

最佳答案

ObjectMessage的性能开销是由于java.io序列化过程引起的。如果您自己这样做并使用ByteMessage,那么您将做JMS自己做的事情,那么您的状况将不会更好。

如果需要通过JMS发送Java对象,则应使用ObjectMessage,这是API提供的。这允许容器进行一些优化,例如JBoss将使用其自己的专有序列化协议,该协议比标准java.io协议要快得多。

10-08 19:32