amqppublisher.cc 816 B

123456789101112131415161718192021222324252627
  1. #include <unistd.h>
  2. #include <string>
  3. #include "common.h"
  4. #include "amqppublisher.h"
  5. #include <SimpleAmqpClient/SimpleAmqpClient.h>
  6. int AMQPPublisher::publish(std::string message)
  7. {
  8. using namespace AmqpClient;
  9. Channel::ptr_t channel = Channel::Create(host, 5672, user, password, "/");
  10. BasicMessage::ptr_t basic_message = BasicMessage::Create(message);
  11. basic_message->Expiration("10000");
  12. basic_message->DeliveryMode(BasicMessage::dm_persistent);
  13. basic_message->ContentType("text/text");
  14. basic_message->ContentEncoding("UTF-8");
  15. channel->DeclareExchange("kea", "fanout");
  16. std::string queue = channel->DeclareQueue("kea", false, false, false, false);
  17. channel->BindQueue(queue, "kea");
  18. channel->BasicPublish("kea", queue, basic_message, false, false);
  19. return 0;
  20. }