    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}