public void TestSendReceiveWithPrefetchOne()
{
SetPrefetchToOne();
ReconnectSession();
IMessage[] outbound = new IMessage[] {
session.CreateTextMessage("First IMessage"),
session.CreateTextMessage("Second IMessage"),
session.CreateTextMessage("Third IMessage"),
session.CreateTextMessage("Fourth IMessage")};
BeginTx();
for(int i = 0; i < outbound.Length; i++)
{
// sends a message
producer.Send(outbound[i]);
}
CommitTx();
// receives the first message
BeginTx();
for(int i = 0; i < outbound.Length; i++)
{
IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
Assert.IsNotNull(message);
}
// validates that the rollbacked was not consumed
CommitTx();
}