非同期ダウンロード

最終更新日: 2021年6月15日
R8 | R9

準備

"環境 > アプリケーション" で、利用するメッセージキューを指定してください。[詳細...]

設定

対象モデルの "画面 > ダウンロード" を開きます。次の設定を行います。

図1 ダウンロードの設定
設定欄説明
ダウンロード画面"画面を作成する" を有効にする。
ダウンロードジョブ"ダウンロードジョブを作成する" を有効にする。
"ダウンロード画面でメッセージジョブ機能を使用する" を有効にする。
ダウンロードジョブ > 送信先キュー名ダウンロードジョブ実行時、このジョブメッセージを送信するキュー名を指定する。標準は空白とする。空白時は wagbyJobQueue が設定される。(*1)
接頭辞にrabbitmq:またはactivemq:と指定することで、Apache Active MQ Artemis と Rabbit MQ の両方を利用する設定を行った場合に、任意のメッセージングミドルウェアへ送信することができる。この指定がない場合は、デフォルトの接続先に送信される。

実行

メッセージングミドルウェアが起動していることを確認後、Wagby アプリケーションを起動してください。

ダウンロード画面でダウンロードボタンを押下すると、ダウンロード処理のジョブがキューに登録されます。

図2 ジョブ登録完了

その後、キューに格納された順にジョブが実行されます。

ジョブが登録されると、状態は "待機" となります。ジョブの実行が開始されると、状態は "実行中" となります。

「全体数」は作成されるデータの件数の総数です。「進捗」は現在の処理件数を表します。

データのダウンロード

ジョブの実行が完了すると、状態が "終了" となります。このジョブに対応する行をマウスでクリックすると「ダウンロードしますか?」という確認ダイアログが表示されます。"OK" ボタン押下で、ファイルをダウンロードできます。

メッセージングミドルウェアが起動していなかった場合

メッセージングミドルウェアが起動していないと、次のようなエラーがログファイル(system.log)に出力されます。

[ERROR org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer redeclareElementsIfNecessary] Failed to check/redeclare auto-delete queue(s). org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

仕様

非同期ダウンロードは、ダウンロードの処理をキューに格納して1件づつ処理します。後から実行したダウンロードは、先に実行されたダウンロードが終わってから処理されます。