int main (int argc, char** argv) { try { // AMQP amqp; // AMQP amqp(AMQPDEBUG); AMQP amqp("guest:[email protected]:5672/"); // all connect string AMQPExchange * ex = amqp.createExchange("e"); ex->Declare("e", "fanout"); AMQPQueue * qu2 = amqp.createQueue("q2"); qu2->Declare(); qu2->Bind( "e", ""); std::string ss = "message 1 "; /* test very long message ss = ss+ss+ss+ss+ss+ss+ss; ss += ss+ss+ss+ss+ss+ss+ss; ss += ss+ss+ss+ss+ss+ss+ss; ss += ss+ss+ss+ss+ss+ss+ss; ss += ss+ss+ss+ss+ss+ss+ss; */ ex->setHeader("Delivery-mode", 2); ex->setHeader("Content-type", "text/text"); ex->setHeader("Content-encoding", "UTF-8"); ex->Publish( ss , ""); // publish very long message ex->Publish( "message 2 " , ""); ex->Publish( "message 3 " , ""); if (argc==2) { AMQPQueue * qu = amqp.createQueue(); qu->Cancel( amqp_cstring_bytes(argv[1]) ); } } catch (AMQPException e) { std::cout << e.getMessage() << std::endl; } return 0; }
int onMessage( AMQPMessage * message ) { char * data = message->getMessage(); if (data) cout << data << endl; i++; cout << "#" << i << " tag="<< message->getDeliveryTag() << " content-type:"<< message->getHeader("Content-type") ; cout << " encoding:"<< message->getHeader("Content-encoding")<< " mode="<<message->getHeader("Delivery-mode")<<endl; if (i > 10) { AMQPQueue * q = message->getQueue(); q->Cancel( message->getConsumerTag() ); } return 0; };