我没有可以直接转换为字符串的平面文件。相反,我有一个Java对象,需要将其作为平面文件发送到MQ。
答案 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等。