Class EmbeddedMessagingProvider

java.lang.Object
nablarch.fw.messaging.provider.JmsMessagingProvider
nablarch.test.core.messaging.EmbeddedMessagingProvider
All Implemented Interfaces:
Initializable, MessagingProvider

public class EmbeddedMessagingProvider extends JmsMessagingProvider implements Initializable
JVM内蔵式メッセージングサーバによる簡易メッセージングプロバイダ実装。 この実装では、サブスレッド上で動作するJMSプロバイダ実装を内蔵しており、 そこに接続して動作する。 これにより、外部のMOMを用意すること無くメッセージング処理を含んだ業務機能の 単体テストを実施することが可能である。 現時点の実装では、自動テストでの利用のみを想定しているため、 リモートキューへの転送はサポートしていない。 また、内部的にActiveMQのメッセージブローカーとvm:// プロトコルを使用しているため、 本機能を利用する場合は、ActiveMQのライブラリをクラスパスに含める必要がある。
  • Constructor Details

    • EmbeddedMessagingProvider

      public EmbeddedMessagingProvider()
      コンストラクタ
  • Method Details

    • stopServer

      public static void stopServer()
      内蔵サーバを停止する。
    • waitUntilServerStarted

      public static void waitUntilServerStarted() throws InterruptedException
      内蔵サーバが起動するまでカレントスレッドを待機させる。
      Throws:
      InterruptedException - 割り込み要求が発生した場合。もしくは、5分以上経過しても 起動が完了しなかった場合。
    • setQueueNames

      public EmbeddedMessagingProvider setQueueNames(List<String> names)
      このキューマネージャが管理するキューの論理名を設定する。 (既存の設定は全て削除される。)
      Parameters:
      names - キュー名の一覧
      Returns:
      このオブジェクト自体
    • initialize

      public void initialize()
      初期化処理を行う。
      他の実装クラスとインタフェースを合わせるためにInitializableを実装する。 Initializableを実装することで、リクエスト単体テスト時に ApplicationInitializerの リポジトリ設定の上書きを不要にしている。 本メソッドは何も処理しない。
      Specified by:
      initialize in interface Initializable