Exemplo n.º 1
0
  public static void main(String[] args) {
    String broker_ip = "192.168.0.78";
    String broker_port = "5672";
    String data_queue = "fila_dados_ext";
    String command_queue = "mxt_command_qpid";
    boolean response_received = true;
    boolean exit = false;

    try {
      Qpid qpidClient = new Qpid();
      qpidClient.connect(broker_ip, broker_port, data_queue, command_queue);

      while (!exit) {
        Message message = qpidClient.getMessageConsummer().receive();
        JMSBytesMessage msg = (JMSBytesMessage) message;
        byte[] byteA = new byte[(int) msg.getBodyLength()];
        msg.readBytes(byteA, (int) msg.getBodyLength());

        switch (QpidTypes.valueOfBySubjectDescription(message.getStringProperty("qpid.subject"))) {
          case qpid_st_pb_mxt1xx_pos:
            mxt1xx_u_position pos = mxt1xx_u_position.parseFrom(byteA);
            System.out.println(pos.toString());
            message.acknowledge();
            if (response_received)
              response_received =
                  mxt1xx_output_control(
                      !pos.getHardwareMonitor().getOutputs().getOutput1(), pos, qpidClient);
            break;
          case qpid_st_pb_command_response:
            u_command_response res = u_command_response.parseFrom(byteA);
            System.out.println(res.toString());
            message.acknowledge();
            if (res.getStatus() == 5) {
              System.out.println("Command response: Success");
              response_received = true;
            } else System.out.println("Command response: " + res.getStatus());

            break;
          default:
            message.acknowledge();
            break;
        }
      }

    } catch (Exception e) {
      e.printStackTrace();
    }
  }