首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

riak的用户库模块加载有关问题

2013-08-06 
riak的用户库模块加载问题基于riak core/pipe构建自己的应用时会遇到如何加载自己的应用模块的问题。在此收

riak的用户库模块加载问题
基于riak core/pipe构建自己的应用时会遇到如何加载自己的应用模块的问题。在此收集一些常用方法备忘。


指定用户自定义模块的路径

编译好的erlang模块由Erlang code server负责加载到Erlang运行时。code server可以在启动时自动加载基本库模块,也可以在运行时动态加载模块。

当调用某个函数时,如果该函数所在模块没有装载,则code server会自动的装载该模块。

code server会有一个搜索路径(code path),它会在这个路径中搜索erlang模块代码。
code:get_path()可以查看这个搜索路径。
这个路径可以通过code:add_path/1, code:add_patha/1, code:add_pathz/1, code:add_pathsa/1, code:add_pathsz/1等函数修改,(注意a是第一个字母,z是最后一个字母,分别表示新路径添加在最前头,新路径添加在最后头)



code
1.
在riak操作手册《A little riak book》第3章Developers,第2节Buckets的Hooks小节提到了一种添加用户库路径的办法,修改app.config
{riak_kv,
    ...
    {add_paths, ["../custom"]}
}

custom目录

2.
一种是在crdt cookbook中提到一种手工添加应用库路径的办法:
https://github.com/basho/riak_crdt_cookbook/blob/master/counters/README.md#loading-our-module-into-riak


3.
加载模块并向所有连接节点广播:c:nl(Module)
http://erlang.org/doc/man/c.html#nl-1

热点排行