Я создал собственный модуль в ejabberd. Главная проблема заключается в том, что если я хочу, чтобы добавить как MySQL и Mnesia поддержку в начале (HOST) -> функцияСоздание пользовательского модуля в ejabberd
IQDisc = gen_mod:get_opt(iqdisc, Opts, fun gen_iq_handler:check_type/1,
one_queue),
Mod = gen_mod:db_mod(Host, Opts, ?MODULE),
Mod:init(Host, Opts)
после перезагрузки ejabberd это дает мне критическую ошибку:
14:05:26.453 [critical] Problem starting the module mod_conversation for host <<"localhost">>
options: []
error: undef
[{mod_conversation_undefined,init,[<<"localhost">>,[]],[]},
{mod_conversation,start,2,[{file,"src/mod_conversation.erl"},{line,30}]},
{gen_mod,start_module,3,[{file,"src/gen_mod.erl"},{line,154}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1337}]},
{ejabberd_app,start,2,[{file,"src/ejabberd_app.erl"},{line,77}]},
{application_master,start_it_old,4,
[{file,"application_master.erl"},{line,273}]}]
14:05:26.453 [critical] ejabberd initialization was aborted because a module start failed.
Crash dump is being written to: //var/log/ejabberd/erl_crash_20170115-140523.dump...done
Problem starting the module mod_conversation for host <<"localhost">>
options: []
error: undef
[{mod_conversation_undefined,init,[<<"localhost">>,[]],[]},
{mod_conversation,start,2,[{file,"src/mo
Я уже добавить новый модуль в файле конфигурации ejabberd. если я удалю
Mod = gen_mod:db_mod(Host, Opts, ?MODULE),
Mod:init(Host, Opts)]
мой модуль запускается успешно. Пожалуйста, помогите мне решить эту проблему.
поэтому ejabberd не догадывается, какая база данных используется этим модулем, кстати, мой db_type по умолчанию - это sql, также есть один и тот же код в других модулях ejabberd, поэтому я не понимаю, почему переменная Mod undefined –