@@ -71,13 +71,17 @@ public static int Main(string[] args) {
71
71
}
72
72
73
73
string serverAddress = args [ 0 ] ;
74
- long msgCount = ( args . Length > 1 ) ? Convert . ToInt64 ( args [ 1 ] ) : 10 ;
74
+ long msgCount = ( args . Length > 1 ) ? int . Parse ( args [ 1 ] ) : 10 ;
75
75
ConnectionFactory cf = new ConnectionFactory ( ) ;
76
76
cf . Address = serverAddress ;
77
77
using ( IConnection conn = cf . CreateConnection ( ) ) {
78
78
using ( IModel ch = conn . CreateModel ( ) ) {
79
79
string queueName = ensureQueue ( ch ) ;
80
80
81
+ /* We'll consume msgCount message twice: once
82
+ using Subscription.Next() and once using the
83
+ IEnumerator interface. So, we'll send out
84
+ 2*msgCount messages. */
81
85
sendMessages ( ch , queueName , 2 * msgCount ) ;
82
86
using ( Subscription sub = new Subscription ( ch , queueName ) ) {
83
87
blockingReceiveMessages ( sub , msgCount ) ;
@@ -107,6 +111,7 @@ private static void blockingReceiveMessages(Subscription sub, long msgCount) {
107
111
i , messageText ( sub . Next ( ) ) ) ;
108
112
Console . WriteLine ( "Message {0} again: {1} (via Subscription.LatestEvent)" ,
109
113
i , messageText ( sub . LatestEvent ) ) ;
114
+ sub . Ack ( ) ;
110
115
}
111
116
112
117
Console . WriteLine ( "Done.\n " ) ;
@@ -121,6 +126,7 @@ private static void enumeratingReceiveMessages(Subscription sub, long msgCount)
121
126
i , messageText ( ev ) ) ;
122
127
if ( ++ i == msgCount )
123
128
break ;
129
+ sub . Ack ( ) ;
124
130
}
125
131
126
132
Console . WriteLine ( "Done.\n " ) ;
@@ -134,7 +140,7 @@ private static string ensureQueue(IModel ch) {
134
140
Console . WriteLine ( "Creating a queue and binding it to amq.direct" ) ;
135
141
string queueName = ch . QueueDeclare ( ) ;
136
142
ch . QueueBind ( queueName , "amq.direct" , queueName , false , null ) ;
137
- Console . WriteLine ( "Done. Created queue {0}.\n " , queueName ) ;
143
+ Console . WriteLine ( "Done. Created queue {0} and bound it to amq.direct .\n " , queueName ) ;
138
144
return queueName ;
139
145
}
140
146
}
0 commit comments