[erlang-questions] Distributed Applications: Stop Before Start?
Vance Shipley
vances@REDACTED
Wed Mar 28 13:40:31 CEST 2012
On Tue, Mar 27, 2012 at 08:15:17AM -0700, Ulf Wiger wrote:
} Ok, then one thing that can be done is to create a 'wrapper application'
} that starts snmp as an included app.
}
} Your start function would have to call the appropriate function in snmp,
} since included apps are not automatically started by OTP.
}
} We used to do this at AXD 301, in order to ensure that applications using
} snmp did a takeover in synch with snmp itself.
Ulf,
A couple things about this concern me;
/Users/otpuser/lib/erlang/doc/design_principles/included_applications.html
"the top supervisor of the included application must be started by a
supervisor in the including application"
The snmp:start/0,1 snmp:start_agent/0,1 and application:start/1,2 functions
don't behave as a supervisor requires. There is an appropriate start
function in snmpa_supervisor:start_master_sup/1 however then the snmp
application is not listed with application:which_applications/0.
"This means that when running, an included application is in fact part
of the primary application and a process in an included application
will consider itself belonging to the primary application."
So if a process in the snmp application would call application:get_all_env/0
it wouldn't get what it expects. It does look like all the calls to the
application module do include the application name (snmp) however.
--
-Vance
More information about the erlang-questions
mailing list