2017-07-11 1 views
2

私は、イカリを使ってアプリケーションの.configファイルを生成するErlang MQTTブローカを使って作業しています。設定ファイルの値はアプリケーションで使用されてしまいます。たとえば、ある時点で、Opts変数には{ssl_opts、{mo​​re、values、here}}のような設定ファイルの値が含まれます...}設定またはアプリケーションからの値はどこにありますか:set_env?どうすれば入手できますか?

これらの値はどこに保存されていますか?どのように関数の内部からそれらにアクセスできますか?私は一般的にプロセス全体について混乱しており、ヘルプやリンクは私の理解に大きく役立ちます!

答えて

2

モジュールaplicationからアプリケーションkernelが責任を負います。値はapplication:get_env/1,2,3関数とapplication:get_all_env/0,1application:get_key/1,2application:get_all_key/0,1の関数を使用してアクセスできます。これは、公表etsテーブルac_tab[set, public, named_table, {read_concurrency,true}])に格納されています。正確には、内部モジュールapplication_controllerが責任を負います。種々のコンフィグ(.app.configファイル)から

値は(主にenvキー)を合併しappliaction:start/1,2の前提条件であるapplication:load/1,2ac_tabテーブルにロードされます。詳細は7 ApplicationsOTP Design Principles User's Guideの章をご覧ください。

How to use application:get_env() in Erlang/OTP?でも部分的に回答しています。

関連する問題