This commit is contained in:
parent
54d74cae03
commit
e49e2c56b0
74
README.md
74
README.md
|
|
@ -63,44 +63,44 @@ work with basic content
|
||||||
Usage
|
Usage
|
||||||
------------
|
------------
|
||||||
|
|
||||||
`Test::Test()
|
Test::Test()
|
||||||
{
|
|
||||||
QUrl con(QString("amqp://guest:guest@localhost:5672/"));
|
|
||||||
client_ = new QAMQP::Client(this);
|
|
||||||
client_->open(con);
|
|
||||||
exchange_ = client_->createExchange("test.test2");
|
|
||||||
exchange_->declare("fanout");
|
|
||||||
|
|
||||||
queue_ = client_->createQueue("test.my_queue", exchange_->channelNumber());
|
|
||||||
queue_->declare();
|
|
||||||
exchange_->bind(queue_);
|
|
||||||
|
|
||||||
connect(queue_, SIGNAL(declared()), this, SLOT(declared()));
|
|
||||||
connect(queue_, SIGNAL(messageRecieved()), this, SLOT(newMessage()));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Test::declared()
|
|
||||||
{
|
|
||||||
exchange_->publish("Hello world", exchange_->name());
|
|
||||||
queue_->setQOS(0,10);
|
|
||||||
queue_->setConsumerTag("qamqp-consumer");
|
|
||||||
queue_->consume(QAMQP::Queue::coNoAck);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Test::newMessage()
|
|
||||||
{
|
|
||||||
QAMQP::Queue * q = qobject_cast<QAMQP::Queue *>(sender());
|
|
||||||
while (q->hasMessage())
|
|
||||||
{
|
{
|
||||||
QAMQP::MessagePtr message = q->getMessage();
|
QUrl con(QString("amqp://guest:guest@localhost:5672/"));
|
||||||
qDebug("+ RECEIVE MESSAGE");
|
client_ = new QAMQP::Client(this);
|
||||||
qDebug("| Exchange-name: %s", qPrintable(message->exchangeName));
|
client_->open(con);
|
||||||
qDebug("| Routing-key: %s", qPrintable(message->routeKey));
|
exchange_ = client_->createExchange("test.test2");
|
||||||
qDebug("| Content-type: %s", qPrintable(message->property[QAMQP::Frame::Content::cpContentType].toString()));
|
exchange_->declare("fanout");
|
||||||
if(!q->noAck())
|
|
||||||
|
queue_ = client_->createQueue("test.my_queue", exchange_->channelNumber());
|
||||||
|
queue_->declare();
|
||||||
|
exchange_->bind(queue_);
|
||||||
|
|
||||||
|
connect(queue_, SIGNAL(declared()), this, SLOT(declared()));
|
||||||
|
connect(queue_, SIGNAL(messageRecieved()), this, SLOT(newMessage()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Test::declared()
|
||||||
|
{
|
||||||
|
exchange_->publish("Hello world", exchange_->name());
|
||||||
|
queue_->setQOS(0,10);
|
||||||
|
queue_->setConsumerTag("qamqp-consumer");
|
||||||
|
queue_->consume(QAMQP::Queue::coNoAck);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Test::newMessage()
|
||||||
|
{
|
||||||
|
QAMQP::Queue * q = qobject_cast<QAMQP::Queue *>(sender());
|
||||||
|
while (q->hasMessage())
|
||||||
{
|
{
|
||||||
q->ack(message);
|
QAMQP::MessagePtr message = q->getMessage();
|
||||||
|
qDebug("+ RECEIVE MESSAGE");
|
||||||
|
qDebug("| Exchange-name: %s", qPrintable(message->exchangeName));
|
||||||
|
qDebug("| Routing-key: %s", qPrintable(message->routeKey));
|
||||||
|
qDebug("| Content-type: %s", qPrintable(message->property[QAMQP::Frame::Content::cpContentType].toString()));
|
||||||
|
if(!q->noAck())
|
||||||
|
{
|
||||||
|
q->ack(message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}`
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue