Вы можете отправить текст или объекты java (которые должны реализовать интерфейс java.io.Serializable). Если вы будете использовать простой текст, попробуйте сделать его структурированным в структурированном формате xml или Json.
В противном случае использовать Java передачи объекта
Вы можете отправить текст или Java, объекты (которые должны реализовывать интерфейс java.io.Serializable). Если вы будете использовать простой текст, попробуйте сделать его структурированным в структурированном формате xml или Json.
Если вы хотите использовать java-объекты, это может сработать. Вот очень простой пример:
/*the object you will be sent to consumer*/
public class MSObject implements java.io.Serializable{
......
}
/*sending method*/
private void sendObjectMessage() throws Exception {
ActiveMQSession mysession = (ActiveMQSession) session;
ObjectMessage msg = session.createObjectMessage();
msg.setObject(new MSObject("first name","Jimmy"));
msg.setJMSType(this.CMD_TYPE_MESSAGETYPE_OBJECT);
producer.send(msg);
if (transacted) {
session.commit();
}
System.out.println("The object message has been sent to " + this.subject
+ " queue.");
Thread.sleep(sleepTime);
}
/*receiving method*/
public void onMessage(Message message) {
if (message instanceof ObjectMessage) {
System.out.println("recevied a Object Message");
ObjectMessage msg = (ObjectMessage)message;
MSObject obj = (MSObject)msg.getObject();
System.out.println("info: ");
System.out.println("key: "+obj.getKey());
System.out.println("value: "+obj.getValue());
}
}
Спасибо за ваш ответ. Отправляющие объекты звучат хорошо, но затем я должен обменивать/определять их с клиентами (клиентами). Я думаю, что я иду с решением json. Даже тогда интерфейс должен быть определен (конечно), но это, возможно, самый гибкий интерфейс. Можно будет добавить новые поля, и не все клиенты будут заботиться о них. Таким образом, управление версиями также не является большой проблемой. – boskop
Хорошо звучит хорошо, но вы меня спрашиваете, я бы пошел на объектный подход. Таким образом, вы избежите генерации Json с одной стороны и разбора его с другой стороны. С объектным подходом все, что вам нужно сделать, это обмен одним файлом jar, содержащим декларацию интерфейса. Вот и все. –