This is a DSA link. It records details about interesting events so they may be considered by humans. The underlying model is influenced by the BACnet alarming design.
This link serves two purposes:
- It is a framework upon which alarm links for different data stores can be developed.
- It has default implementations that can be deployed as-is.
To understand link usage, view the Alarm Link User Guide.
Java 1.7 or higher is required.
To use an implementation, one has the change the handler_class in dslink.json and/or the main class used to launch your application.
The provided implementations are:
- org.dsa.iot.alarm.jdbc.H2Main - Uses an embedded instance of the H2 database for persistence. This is default handler_class in dslink.json.
- org.dsa.iot.alarm.jdbc.JdbcMain - Uses remote JDBC connections for persistence. The specific JDBC driver jar file will need to be added to the deployment.
Creating a custom alarm link primarily requires implementing a single interface. After that, plenty of hooks exist if customization of other types is required.
- Create an implementation of org.iot.dsa.alarm.Alarming.Provider.
- Create a "main" class that subclasses org.iot.dsa.alarm.AlarmLinkHandler.
- In the main Main class:
- In a static initializer, call Alarming.setProvider with an instance of your provider.
- In the main method, call DSLinkFactory.start with an instance of the main class.
For example:
static {
Alarming.setProvider(new MyProvider());
}
public static void main(String[] args) {
DSLinkFactory.start(args, new MyMainClass());
}
H2 Database
This software contains unmodified binary redistributions for H2 database engine, which is dual licensed and available under the MPL 2.0 (Mozilla Public License) or under the EPL 1.0 (Eclipse Public License). An original copy of the license agreement can be found at: http://www.h2database.com/html/license.html
Silk Icons
This software uses icons from Silk Icons 1.3 created by Mark James and licensed under a Creative Commons Attribute 2.5 License.