0

我在配置中启用了 hipe 编译,如下所示:

[
{rabbit, 
    [
        ...
        {hipe_compile, true}
    ]
},
{rabbitmq_mqtt,...

但是 rabbitmq 重启后,我在 {hipe_modules} 部分下找不到 rabbitmq_mqtt 模块:

> rabbitmqctl report

 {hipe_compile,true},
 {hipe_modules,[rabbit_reader,rabbit_channel,gen_server2,rabbit_exchange,
                rabbit_command_assembler,rabbit_framing_amqp_0_9_1,
                rabbit_basic,rabbit_event,lists,queue,priority_queue,
                rabbit_router,rabbit_trace,rabbit_misc,rabbit_binary_parser,
                rabbit_exchange_type_direct,rabbit_guid,rabbit_net,
                rabbit_amqqueue_process,rabbit_variable_queue,
                rabbit_binary_generator,rabbit_writer,delegate,gb_sets,lqueue,
                sets,orddict,rabbit_amqqueue,rabbit_limiter,gb_trees,
                rabbit_queue_index,rabbit_exchange_decorator,gen,dict,ordsets,
                file_handle_cache,rabbit_msg_store,array,
                rabbit_msg_store_ets_index,rabbit_msg_file,
                rabbit_exchange_type_fanout,rabbit_exchange_type_topic,mnesia,
                mnesia_lib,rpc,mnesia_tm,qlc,sofs,proplists,credit_flow,pmon,
                ssl_connection,tls_connection,ssl_record,tls_record,gen_fsm,
                ssl]},

这是否意味着 mqtt 适配器没有 hipe 编译?

谢谢

4

2 回答 2

0

您可以使用实际的 Erlang 通过每个模块库来验证这一点

$ rabbitmqctl eval 'rabbit_mqtt:module_info().'

这个命令应该输出很长的选项列表,其中一部分是

{compile, 
   [{options, 
        [...

在那里你应该看看模块是否是用 hipe 编译的。

于 2014-10-30T13:26:04.343 回答
0

hipe_modules您可以使用您希望 hipe 编译的 MQTT 模块来扩展配置项。

这是列表,http://hg.rabbitmq.com/rabbitmq-server/file/669a08de6e9e/ebin/rabbit_app.in#l65所以你需要用额外的模块来扩展它。

于 2014-11-12T14:21:13.593 回答