18.8.4. last-Value キュー
last-Value キューの設定
last-value キューは address-setting 設定で定義されます。
<address-setting match="jms.queue.lastValueQueue"> <last-value-queue>true</last-value-queue> </address-setting>
last-Value プロパティーの使用
最後の値を識別するために使用されるプロパティー名は "_HQ_LVQ_NAME"
(またはコア API の定数 Message.HDR_LAST_VALUE_NAME
)です。たとえば、Last-Value プロパティーに同じ値を持つ 2 つのメッセージが Last-Value キューに送信される場合、最新のメッセージのみがキューに保持されます。
例18.3 Send 1st message with Last-Value property set to STOCK_NAME( STOCK_NAMEに設定された Last-Value プロパティーを持つ最初のメッセージを送信する)
TextMessage message = session.createTextMessage("1st message with Last-Value property set"); message.setStringProperty("_HQ_LVQ_NAME", "STOCK_NAME"); producer.send(message);
例18.4 Send 2nd message with Last-Value property set to STOCK_NAME
message = session.createTextMessage("2nd message with Last-Value property set"); message.setStringProperty("_HQ_LVQ_NAME", "STOCK_NAME"); producer.send(message);
例18.5 2 番目のメッセージのみが受信されます。最後に Last-Value プロパティーが設定されます。
TextMessage messageReceived = (TextMessage)messageConsumer.receive(5000); System.out.format("Received message: %s\n", messageReceived.getText());