我在网络上发现了一些非常矛盾的信息,并且我认为每个不同的JMS提供程序也可能会改变答案。
我试图了解将XML发送到JMS系统(例如ActiveMQ)时是否应该使用
有没有人有一个明确的答案,或者至少有一些原因使您选择一个而不是另一个?
最佳答案
我同意jos'对您的问题的评论。首先,您应该选择最能表达内容语义的消息类型。阅读 TextMessage
Javadoc,我会这样做:
因此,如果您确实遇到了短信编码问题,那么客户端/服务器端可能存在一些错误配置。但这不应该成为滥用其他主要不是用于文本传输的消息类型的动机,例如 BytesMessage
。
N.B:即使使用BytesMessage
,也可能会导致编码错误。想象:
// Send that data through JMS
byte[] data1 = "source text".getBytes("ISO-8859-1");
// Receive the byte stream on the other side. Ooops
String data2 = new String(data1, "UTF-8");