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        public void connect(final String jmsServer, final String sqsAccessKey, final String sqsSecretKey);
029        
030        /**
031         * 受信処理
032         * 受信処理を行います。
033         * 
034         * @param queueName キュー名
035         * @return キュー情報格納クラス
036         */
037        public QueueInfo receive(final String queueName);
038        
039        /**
040         * リスナーの設定
041         * 指定キュー名に対して、
042         * メッセージキュー受信時に処理を行う、
043         * メッセージリスナーを設定します。
044         * 
045         * @param queueName キュー名
046         * @param listener メッセージリスナー
047         */
048        public void setListener(final String queueName, MessageListener listener);
049
050        /**
051         * リスナーの終了
052         * リスナーの終了処理を行います。
053         */
054        public void closeListener();
055        
056        /**
057         * クローズ処理
058         * MQ:受信リスナーの解除。
059         * SQS:クローズ処理はありません。
060         */
061        public void close();
062        
063        /**
064         * バッチフラグの設定
065         * バッチ処理として行う用の、
066         * バッチフラグを設定します。
067         * 
068         * @param batchFlg バッチフラグ
069         */
070        public void setBatchFlg(final Boolean batchFlg);
071}