我们可以将平面文件发送到IBM MQ,或者我们必须创建平面文件的字符串表示,以便它可以作为消息发送

问题描述 投票:1回答:2

我没有可以直接转换为字符串的Flat文件。相反,我有一个Java对象,我需要将其作为平面文件发送到MQ。

java string ibm-mq flat-file mq
2个回答
0
投票

你可以使用IBM MQ with JMS

有以下选项,您可以使用将您的java类数据发送到MQ队列。

TextMessage - 可以发送任何类型的文本数据,即您可以使用JAXB(或SOAP的JAX-WS)将您的java对象序列化为XML,或者使用GSON,Jackson,JSONP(Resteasy,REST等情况下的JSON)将JSON序列化为XML等)甚至是CSV

ObjectMessage - 可以发送java serializable对象,请注意 - this is risky

BytesMessage - 可以发送任何类型的数据(包括任何类型的文本格式)。即您可以将java对象序列化为某种二进制格式,如Google Protocol Buffers或某些ASN.1等。


0
投票

您可以在对象上使用ToString方法,或者转换为XML或JSON,这将序列化。

因此,例如,如果您使用JSON,您的接收应用程序可以将展平的字符串反序列化为JSON,然后是适当的Java对象

发送应用程序 -

import org.json.simple.parser.JSONParser;
import org.json.simple.JSONObject;


JSONObject obj = new JSONObject();
obj.put("xxx", yourJavaObject.somepropertyormethod);
obj.put("yyy", yourJavaObject.someotherpropertyormethod);

String msgAsAString = obj.toString();

© www.soinside.com 2019 - 2024. All rights reserved.