msg.setJMSPriority(9);
在此代碼中,消息優先級設置爲9,表示這是高優先級消息。 但是,當發送消息時,消息將具有4的優先級(正常 優先級)。原因?與消息到期一樣,JMS提供程序將查看消息的消息優先級屬性 ,並調用先於 的setJMSPriority方法將消息放入隊列。由於缺省消息優先級爲4(正常的 優先級),因此消息優先級不會設置爲高優先級消息,正如開發人員最初所預期的那樣。
像郵件過期,也有設置消息優先級的方法有兩種:您 可以調用的MessageProducer上(QueueSender或主題 出版商)的setpriority()可方法或發送消息時設置消息優先級:
//set the default message priority for all messages to 9 (high)
QueueSender qSender = qSession.createSender(requestQ);
qSender.setPriority(9);
qSender.send(msg1);
//this message is low priority
qSender.send(msg2, DeliveryMode.PERSISTENT, 1, 30000);
在這個例子中,MSG1將與圖9(高優先級)的優先級被髮送,而將MSG2與 1(低優先級)的優先級被髮送。