- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果 Erlang 应用程序 myapp 需要 mnesia 才能运行,则应将 mnesia
包含在其应用程序资源文件中的 applications
键下,以便启动 myapp ,mnesia 会自动启动 - 默认情况下它的节点类型是 opt_disc
(OTP 18)。
如果我想要一个disc
节点怎么办?我知道我可以在命令行设置 -mnesia schema_location disk
,但这仅在架构已存在的情况下才有效,这意味着我应该在启动 myapp 之前执行一些初始化,是否有“OTP-ful”方式,而不从 applications
中删除 mnesia
来避免这种初始化?主要目标是将“init-then-start”变成“start”。
最佳答案
您的帖子中的内容不正确:
...
mnesia
should be included in its application resource file, under key applications, so that if myapp is started, mnesia would get started automatically.
您编写的值为 applications
的应用程序输入.app
文件不会自动启动,但它表明它们必须在您的应用程序启动之前启动。
假设我们要创建 foo
依赖于 mnesia
的应用程序进行一些定制。一种方法是在 foo_app.erl
中启动它文件:
-module(foo_app).
-behaviour(application).
-export([start/2, stop/1]).
start(_Type, _Args) ->
mnesia:start().
mnesia:change_table_copy_type(schema, node(), disc_copies),
%% configure mnesia
%% create your tables
%% ...
foo_sup:start_link().
stop(_State) ->
ok.
这样它就创建了disc
模式,无论它是否是之前创建的。
注意:在此解决方案中,如果您编写 mnesia
作为 applications
下的依赖项输入您的密码foo.app.src
文件(在编译时会创建 foo.app
),当启动 foo
时您获得的应用程序 {error, {not_started, mnesia}}
。所以你一定不要这样做,让你的应用程序在它的foo_app:start/2
中启动它。功能。
关于Erlang:创建光盘模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784355/
我想用 list-style-type: disc; 列出一些程序。 但是列表项没有这个“disc”并且有滚动条,我不知道为什么......看这里(Link)。 它应该只是一个带有光盘图标的列表,每个
使用 cygwin 终端,我的 .bashrc 中有以下内容: export WINHOME="/cygdrive/c/Users/userName" export TUTORING="$WINHOM
我创建了一个别名,以免每次我移动到一个新目录时都写 ls: alias cl='cd_(){ cd "$@" && ls; }; cd_' 假设我有一个名为“下载”的文件夹(我当然碰巧有),所以我只需
我是一名优秀的程序员,十分优秀!