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());