У меня есть 2 программы: Agent.java
и Simulator.java
(не беспокойтесь о именах, вы можете назвать их A & B соответственно). Теперь я хочу отправить объект job
из Agent
в Simulator
с использованием формата XML. Класс job
выглядит так:
public class job {
int JobID;
job(int JobID){
this.JobID=JobID;
}
public int getJobID(){
//get JobID variable value from here
}
public void setJobID(int temp_JobID){
//change variable JobID here
}
}
Теперь я храню его в формате XML и отправляю на Simulator. Я знаю, что я могу использовать другие способы отправки job
объекта, но этот формат файла XML является стандартным для моего проекта. С другой стороны, я получаю объект job
, получаю данные от него и использую их в программе.
Итак, мой Q.: Как отправить данные с помощью XML? Я видел много Q., связанных с этим, но они относятся к XML файлу на жестком диске, конвертировать в String, отправлять его, а затем получать в другой программе. Я думаю, что это не сработает в моем случае, потому что у меня много рабочих мест, и я буду получать их в режиме реального времени. Итак, его плохая идея хранить их при вычислении. Нет ли отправителя и получателя XML файлов?
Возможно, посмотрите на JAXB. Вы можете создавать xsd файлы из указанного формата, генерировать класс аннотированных заданий, а также использовать созданные объекты-объекты. Затем у вас есть задания в памяти, и вы можете создать их очередь.
В одном из проектов я использовал JDOM для обмена данными между файлами в xml. Класс A создает XML-документ из полей объекта и отправляет этот документ классу B. Класс B может создавать объект из этого принятого документа.
Нет необходимости в каком-либо файле для публикации заданий. Вы можете использовать объекты в памяти.
Попробуйте использовать JIBX для Marshall/Unmarshall для вашего объекта задания и использовать его в памяти вместо файла. Когда у вас есть объект Job marshall для XML в строчном формате, отправьте его в Simulator. На стороне симулятора снова отпустите XML-объект Job.
Если вы используете какой-либо JMS-сервис для публикации заданий в Simulator, сделайте эту строку XML частью вашего сообщения.