ノード間でメッセージを配信するためにローカルにインストールされた RabbitMQ サーバーを使用する Spring ベースの Java アプリケーションをセットアップしようとしています。すでにご存じの方もいらっしゃると思いますが、rabbitmq.config ファイルを使用してさまざまなパラメーターを構成でき、Rabbit サーバーが実行される基礎となる Erlang ノードによってロードされます。
私の問題は、構成の一部を静的にする必要があり、一部を動的にする必要があるという要件があることです。具体的には、ユーザーの操作の結果として、Rabbit サーバーで実行されているシャベルを時々再構成できるようにする必要があります。 (つまり、構成ファイルをプログラムで変更し、ウサギのサーバーを再起動して有効にする必要があります)。それを読んで)。
Erlang 構成ファイルのマニュアル ( http://www.erlang.org/doc/man/config.html ) を読んで解決策があると思いました。ファイルは Erlang によってマージされます。残念ながら、まったく機能していないようで、オンラインでこの問題への言及を見つけることができませんでした。
RabbitMQ 3.1.3 と Erlang 5.10/OTP R16 を使用して Windows 7 x64 OS でこれをテストしています。
最初の設定ファイル:
[
{'rabbit', [
{'tcp_listeners', [
5672
]},
{'default_vhost', <<"/">>}
]}, "C:\\Users\\itay\\Desktop\\RabbitMQ\\rabbitmq2.config"
].
2 番目の構成ファイル:
[
{'rabbit', [
{'default_user', <<"guest">>},
{'default_pass', <<"guest">>}
]}
].
パスにも単一のバックスラッシュまたはビット文字列を使用しようとしましたが、問題にはならなかったようです。
cmd でサーバーを実行した場合の出力は次のとおりです。
{"could not start kernel pid",application_controller,"invalid config data: invalid application name: \"C:\\Users\\itay\\Desktop\\RabbitMQ\\rabbitmq2.config\""}
Crash dump was written to: erl_crash.dump
could not start kernel pid (application_controller) (invalid config data: invalid application name: "C:\\Users\\itay\\Desktop\\RabbitMQ\\rabbitmq2.config")
あらゆる種類の解決策または支援をいただければ幸いです。
ありがとう。