можем ли мы отправить плоский файл в IBM MQ или нам нужно создать строковое представление плоского файла, чтобы его можно было отправить в виде сообщения - PullRequest
0 голосов
/ 27 февраля 2019

У меня нет плоского файла, который можно было бы преобразовать в строку напрямую.Вместо этого у меня есть объект Java, который мне нужно отправить в виде плоского файла в MQ.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вы можете использовать IBM MQ с JMS

Существуют следующие опции, которые вы можете использовать для отправки данных вашего класса Java в очередь MQ.

TextMessage - может отправлять любые текстовые данные, то есть вы можете сериализовать свой Java-объект в XML, используя JAXB (или JAX-WS в случае SOAP), или JSON, используя что-то вроде GSON, Jackson , JSONP(Resteasy, Джерси в случае REST и т. Д.) Или даже CSV

ObjectMessage - может отправлять java сериализуемые объекты, обратите внимание - это рискованно

BytesMessage - может отправлять любые данные (в том числе любой текстовый формат).Т.е. вы можете сериализовать свои Java-объекты в некоторый двоичный формат, такой как Буферы протокола Google или некоторые ASN.1 и т. Д.

0 голосов
/ 28 февраля 2019

Вы можете использовать метод 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();

...