我没有可以直接转换为字符串的Flat文件。相反,我有一个Java对象,我需要将其作为平面文件发送到MQ。
你可以使用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等。
您可以在对象上使用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();