我们可以将平面文件发送到IBM MQ还是必须创建平面文件的字符串表示形式以便可以将其作为消息发送

时间:2019-02-27 03:13:47

标签: java string ibm-mq flat-file mq

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

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

您可以使用IBM MQ with JMS

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

TextMessage-可以发送任何类型的文本数据,即,您可以使用JAXB(或使用SOAP的情况下为JAX-WS)或使用GSON之类的JSON {{3} },JSONP(在REST等情况下为Resteasy,Jersey),甚至是CSV

Jackson-可以发送Java ObjectMessage对象,请注意-serializable

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