Отправлять и получать данные с XML

1

У меня есть 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 файлов?

  • 0
    Какие проблемы возникают при использовании только XML и что именно вы подразумеваете под заданиями, приходят постоянно и будут получать в режиме реального времени.
  • 0
    Agent.java создает объект задания в режиме реального времени (скажем, каждую 1 секунду) и отправляет его в Simulator.java.
Показать ещё 6 комментариев
Теги:
url

3 ответа

2

Возможно, посмотрите на JAXB. Вы можете создавать xsd файлы из указанного формата, генерировать класс аннотированных заданий, а также использовать созданные объекты-объекты. Затем у вас есть задания в памяти, и вы можете создать их очередь.

  • 0
    JAXB выглядит специально для Java. Если я захочу отправить файл XML в другую программу (написанную на любом другом языке, который понимает XML), смогу ли я достичь этого?
  • 0
    Конечно, и, вероятно, вы можете извлечь выгоду из созданных xsd-схем.
Показать ещё 1 комментарий
0

В одном из проектов я использовал JDOM для обмена данными между файлами в xml. Класс A создает XML-документ из полей объекта и отправляет этот документ классу B. Класс B может создавать объект из этого принятого документа.

  • 0
    Да, но может ли любая другая программа (написанная на другом языке) получить доступ к этому?
  • 0
    Ну, вы используете agent.java и simulator.java, а JDOM - это интеграция Java / XML. Если вы заботитесь о других языках, вы должны указать это.
Показать ещё 2 комментария
0

Нет необходимости в каком-либо файле для публикации заданий. Вы можете использовать объекты в памяти.

Попробуйте использовать JIBX для Marshall/Unmarshall для вашего объекта задания и использовать его в памяти вместо файла. Когда у вас есть объект Job marshall для XML в строчном формате, отправьте его в Simulator. На стороне симулятора снова отпустите XML-объект Job.

Если вы используете какой-либо JMS-сервис для публикации заданий в Simulator, сделайте эту строку XML частью вашего сообщения.

  • 0
    Я должен использовать XML. В промышленности принято использовать этот формат, чтобы любая другая программа (написанная на Java / C / R / .....) могла читать задания.
  • 0
    Тогда что вы подразумеваете под динамическим отправителем и получателем XML, когда кто-то должен иметь возможность прочитать это? Если возможно, запишите этот XML-файл задания на консоль или сохраните в БД, чтобы прочитать их позже. Если у вас есть какой-либо пользовательский интерфейс, вы можете показать эту информацию о работе из XML на экране
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню