![]() By treating the apps in the umbrella as dependencies to be managed and built by rebar3, we can simplify the maintenance of the release, at the cost of increased build times: using Mix as before, it could track changed files better than using rebar. But the complexity and possibility of discrepancies make it using rebar much more compelling. |
||
---|---|---|
.. | ||
etc | ||
include | ||
src | ||
test | ||
.gitignore | ||
README.md | ||
rebar.config |
README.md
emqx_connector
This application is a collection of connectors
.
A connector
is a callback module of emqx_resource
that maintains the data related to
external resources. Put all resource related callback modules in a single application is good as
we can put some util functions/modules here for reusing purpose.
For example, a mysql connector is an emqx resource that maintains all the mysql connection related parameters (configs) and the TCP connections to the mysql server.
An mysql connector can be used as following:
(emqx@127.0.0.1)5> emqx_resource:list_instances_verbose().
[#{config =>
#{auto_reconnect => true,cacertfile => [],certfile => [],
database => "mqtt",keyfile => [],password => "public",
pool_size => 1,
server => {{127,0,0,1},3306},
ssl => false,user => "root",verify => false},
id => <<"mysql-abc">>,mod => emqx_connector_mysql,
state => #{poolname => 'mysql-abc'},
status => started}]
(emqx@127.0.0.1)6> emqx_resource:query(<<"mysql-abc">>, {sql, <<"SELECT count(1)">>}).
{ok,[<<"count(1)">>],[[1]]}