...
Setting the Qpid pre-fetch to 1 for your client means that message priority will be honoured by the Qpid broker as it dispatches messages to your client. e.g.A default for all client connections can be set via a system property:
Code Block |
---|
-Dmax_prefetch=1
|
The prefetch can be also be adjusted on a per connection basis by adding a 'maxprefetch' value to the connection url
Code Block |
---|
amqp://guest:guest@client1/development?maxprefetch='1'&brokerlist='tcp://localhost:5672'
|
There is a slight performance cost here if using the receive() method and you could test with a slightly higher pre-fetch (up to 10) if the trade-off between throughput and prioritisation is weighted towards the former for your application. (If you're using OnMessage() then this is not a concern.)
...