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