Package nablarch.test.core.messaging
Class EmbeddedMessagingProvider
java.lang.Object
nablarch.fw.messaging.provider.JmsMessagingProvider
nablarch.test.core.messaging.EmbeddedMessagingProvider
- All Implemented Interfaces:
nablarch.core.repository.initialization.Initializable
,nablarch.fw.messaging.MessagingProvider
public class EmbeddedMessagingProvider
extends nablarch.fw.messaging.provider.JmsMessagingProvider
implements nablarch.core.repository.initialization.Initializable
JVM内蔵式メッセージングサーバによる簡易メッセージングプロバイダ実装。
この実装では、サブスレッド上で動作するJMSプロバイダ実装を内蔵しており、
そこに接続して動作する。
これにより、外部のMOMを用意すること無くメッセージング処理を含んだ業務機能の
単体テストを実施することが可能である。
現時点の実装では、自動テストでの利用のみを想定しているため、
リモートキューへの転送はサポートしていない。
また、内部的にActiveMQのメッセージブローカーとvm:// プロトコルを使用しているため、
本機能を利用する場合は、ActiveMQのライブラリをクラスパスに含める必要がある。
- Author:
- Iwauo Tajima
-
Nested Class Summary
Nested classes/interfaces inherited from class nablarch.fw.messaging.provider.JmsMessagingProvider
nablarch.fw.messaging.provider.JmsMessagingProvider.Context
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
他の実装クラスとインタフェースを合わせるためにInitializable
を実装する。Initializable
を実装することで、リクエスト単体テスト時にApplicationInitializer
の リポジトリ設定の上書きを不要にしている。 本メソッドは何も処理しない。setQueueNames
(List<String> names) このキューマネージャが管理するキューの論理名を設定する。 (既存の設定は全て削除される。)static void
内蔵サーバを停止する。static void
内蔵サーバが起動するまでカレントスレッドを待機させる。Methods inherited from class nablarch.fw.messaging.provider.JmsMessagingProvider
createContext, getConnectionFactory, setConnectionFactory, setDefaultPoisonQueue, setDefaultResponseTimeout, setDefaultTimeToLive, setDestinations, setMessagingExceptionFactory, setPoisonQueueNamePattern, setRedeliveryLimit
-
Constructor Details
-
EmbeddedMessagingProvider
public EmbeddedMessagingProvider()コンストラクタ
-
-
Method Details
-
stopServer
public static void stopServer()内蔵サーバを停止する。 -
waitUntilServerStarted
内蔵サーバが起動するまでカレントスレッドを待機させる。- Throws:
InterruptedException
- 割り込み要求が発生した場合。もしくは、5分以上経過しても 起動が完了しなかった場合。
-
setQueueNames
このキューマネージャが管理するキューの論理名を設定する。 (既存の設定は全て削除される。)- Parameters:
names
- キュー名の一覧- Returns:
- このオブジェクト自体
-
initialize
public void initialize()
他の実装クラスとインタフェースを合わせるためにInitializable
を実装する。Initializable
を実装することで、リクエスト単体テスト時にApplicationInitializer
の リポジトリ設定の上書きを不要にしている。 本メソッドは何も処理しない。- Specified by:
initialize
in interfacenablarch.core.repository.initialization.Initializable
-