Как отправить сообщение от агента в основной контейнер в Jade?

Я работаю над веб-приложением на основе агента. Внешний интерфейс отправляет на сервер параметры, эти параметры я отправляю конкретному агенту в качестве аргументов.

        ContainerController ac = (ContainerController) runtime.createMainContainer(p);
        Object[] obj = {Amount};            
        try {   
            

            AgentController ag = ac.createNewAgent("a1","agents.a1", obj);//arguments
            ag.start();
            AgentController ag2 = ac.createNewAgent("a2","agents.a2", obj);//arguments
            ag2.start();
            
            
            } catch (StaleProxyException e) {
                throw new Error(e);
            }

После получения этих параметров каждый агент должен отправить подтверждение получения, чтобы отправить его на внешний интерфейс веб-приложения. Как я могу отправить параметры от агентов к основному реализатору контейнера.

Как это можно реализовать? Если есть более осуществимый способ сделать это, это также приветствуется


person Aigerim Iskakova    schedule 26.10.2020    source источник


Ответы (1)


  1. За исключением исключительных случаев, которых здесь, похоже, нет, агенты не взаимодействуют с контейнерами (контейнер не является агентом, поэтому невозможно отправить ему сообщение).

  2. Ваши агенты должны связаться с веб-приложением напрямую. Поскольку цель здесь заключается в том, чтобы они использовали веб-службу, вы можете выбрать стандартную библиотеку REST и опубликовать сообщение. Если вы не хотите, чтобы все ваши агенты знали местонахождение веб-сервиса, то создайте нового агента, который будет играть роль посредника.

person Hc.    schedule 12.02.2021