001package org.opengion.fukurou.queue; 002 003import javax.jms.MessageListener; 004 005/** 006 * キュー受信クラス用インタフェース 007 * キュー受信処理のインタフェースです。 008 * MQとSQSのメッセージ受信に対応しています。 009 * 010 * @og.group メッセージ連携 011 * 012 * @og.rev 5.10.15.2 (2019/09/20) 新規作成 013 * 014 * @version 5 015 * @author oota 016 * @since JDK7 017 */ 018public interface QueueReceive { 019 020 /** 021 * 接続処理 022 * メッセージキューサーバに接続します。 023 * 024 * @param jmsServer jsmサーバ 025 * @param sqsAccessKey sqs用awsアクセスキー 026 * @param sqsSecretKey sqs用awsシークレットキー 027 */ 028 void connect(final String jmsServer, final String sqsAccessKey, final String sqsSecretKey); 029 030 /** 031 * 受信処理 032 * 受信処理を行います。 033 * 034 * @param queueName キュー名 035 * @return キュー情報格納クラス 036 */ 037 QueueInfo receive(final String queueName); 038 039 /** 040 * リスナーの設定 041 * 指定キュー名に対して、 042 * メッセージキュー受信時に処理を行う、 043 * メッセージリスナーを設定します。 044 * 045 * @param queueName キュー名 046 * @param listener メッセージリスナー 047 */ 048 void setListener(final String queueName, MessageListener listener); 049 050 /** 051 * リスナーの終了 052 * リスナーの終了処理を行います。 053 */ 054 void closeListener(); 055 056 /** 057 * クローズ処理 058 * MQ:受信リスナーの解除。 059 * SQS:クローズ処理はありません。 060 */ 061 void close(); 062 063 /** 064 * バッチフラグの設定 065 * バッチ処理として行う用の、 066 * バッチフラグを設定します。 067 * 068 * @param batchFlg バッチフラグ 069 */ 070 void setBatchFlg(final Boolean batchFlg); 071}