void Sender::execute(AsyncSession& session, bool isRetry)
{
    if (verbosity > 0)
        std::cout << "replaying_sender " << (isRetry ? "first " : "re-") << "connect." << endl;
    if (isRetry) sender.replay(session);
    else sender.init(session);
    while (sent < count) {
        stringstream message_data;
        message_data << ++sent;
        message.setData(message_data.str());
        message.getHeaders().setInt("sn", sent);
        if ( persistence )
          message.getDeliveryProperties().setDeliveryMode(PERSISTENT);

        sender.send(message);
        if (count > reportFrequency && !(sent % reportFrequency)) {
            if ( verbosity > 0 )
                std::cout << "Sender sent " 
                          << sent 
                          << " of " 
                          << count 
                          << " on queue "
                          << queueName
                          << std::endl;
        }
    }
    message.setData("That's all, folks!");
    sender.send(message);

    if ( verbosity > 0 )
      std::cout << "SENDER COMPLETED\n";
}
void Sender::execute(AsyncSession& session, bool isRetry)
{
    if (isRetry) sender.replay(session);
    else sender.init(session);
    while (sent < count) {
        stringstream message_data;
        message_data << ++sent;
        message.setData(message_data.str());
        message.getHeaders().setInt("sn", sent);
        sender.send(message);
        if (count > 1000 && !(sent % 1000)) {
            std::cout << "sent " << sent << " of " << count << std::endl;
        }
    }
    message.setData("That's all, folks!");
    sender.send(message);
}
Beispiel #3
0
void Sender::execute(AsyncSession& session, bool isRetry)
{
    if (isRetry) sender.replay(session);
    else sender.init(session);
    string data;
    while (getline(std::cin, data)) {
        message.setData(data);
        //message.getHeaders().setInt("SN", ++sent);
        string matchKey;
        if (lvqMatchValues && getline(lvqMatchValues, matchKey)) {
            message.getHeaders().setString(QueueOptions::strLVQMatchProperty, matchKey);
        }
        reporter.message(dummyMessage); // For statistics
        sender.send(message, destination);
    }
    for (uint i = sendEos; i > 0; --i) {
        message.setData(EOS);
        sender.send(message, destination);
    }
}