2016-12-08 3 views
1

私はWireMockを使用してWebからの応答を記録して再生するプロキシサービスを構築しています。私は最近discovered that these two modes are separateを持っているので、これらのサービスを並行して実行するためにDockerコンテナの小さなセットを構築しようとしています。録音時にWebサイトと一致するようにWireMockに--proxy-allパラメータを指定できますか?

私の計画は録音用にWireMockを1つセットアップし、次に別のインスタンスを(別のポートに)再生することです。私は定期的にcron上のマッピングを1つから別のものにコピーし、再生インスタンスにリセットAPIコールを送信して新しい定義をリロードします。

私は現在、レコーダーに取り組んでいます。特定のサイトから録音する簡単な方法はこれを行うことです。

java -jar wiremock-standalone-2.4.1.jar \ 
    --port 8080 \ 
    --proxy-all="http://www.example.com/" \ 
    --record-mappings \ 
    --verbose 

実際に私はそれは私がそれに送信何かを記録したい場合しかし、それは、www.example.comに長時間実行中のインスタンスをロック。パラメータなしで--proxy-allを使用しても動作しません(おそらくWireMock自体によって放出されるHTTPクライアントで500のエラーが発生します)。

一方、を省略すると、おそらくWireMockはどこに行くのかわからないため、404になります。私はそのためのような何かをしたいと思います:

--proxy-all=* 

私はこれがコマンドラインでサポートされていると言って任意のドキュメントを見ることができないので、管理APIがこれをサポートしている場合、私は疑問に思いますか?代わりに私自身のAPIをビルドして、指定されたプロキシURLでWireMockを停止して再起動しますが、それが既に実装されている場合、私は車輪を再発明するつもりはありません。

私が他の質問で言ったように、代わりにit seems to have an API for thisからMountebankを使用することもできます。しかし、それはより関与しているように見えます.WireMockの90%がワイヤモックとなっているので、できる限り私はそれに固執していきます。

答えて

0

私は、自動再起動オプション付きのSupervisorのシェルラッパーでWireMockを実行し、APIで/__admin/shutdownを呼び出してこれを解決しました。

シェルラッパーは、--proxy-allスイッチを使用して設定されたプロキシターゲットを使用してWireMockを開始します。したがって、プロキシターゲットがシャットダウンすると、自動的にバックアップされるので、プロキシターゲットは効果的に変更されます。

関連する問題