diff --git a/providers/snmp/alarm/pom.xml b/providers/snmp/alarm/pom.xml
index 2b13e1437c..6b03c85003 100644
--- a/providers/snmp/alarm/pom.xml
+++ b/providers/snmp/alarm/pom.xml
@@ -53,14 +53,12 @@
org.osgi
org.osgi.compendium
- 5.0.0
jar
org.onosproject
onos-api
- ${project.version}
@@ -74,7 +72,6 @@
org.onosproject
onlab-osgi
- ${project.version}
tests
test
@@ -82,7 +79,6 @@
org.onosproject
onos-api
- ${project.version}
tests
test
@@ -90,19 +86,16 @@
junit
junit
- 4.11
test
org.hamcrest
hamcrest-core
- 1.3
test
org.hamcrest
hamcrest-library
- 1.3
test
@@ -114,41 +107,7 @@
-
- org.apache.maven.plugins
- maven-shade-plugin
- 2.3
-
-
-
- com.btisystems:snmp-core
-
- **
-
-
-
- com.btisystems.mibbler.mibs:bti7000
-
- **
-
-
-
- com.btisystems.mibbler.mibs:net-snmp
-
- **
-
-
-
-
-
-
- package
-
- shade
-
-
-
-
+
org.apache.felix
maven-scr-plugin
diff --git a/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProviderService.java b/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProviderService.java
index 4d2c658ec4..65bd8c2dd7 100644
--- a/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProviderService.java
+++ b/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProviderService.java
@@ -50,6 +50,7 @@ import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.Service;
import static org.onlab.util.Tools.groupedThreads;
import org.onosproject.core.ApplicationId;
import org.onosproject.core.CoreService;
@@ -64,10 +65,13 @@ import org.onosproject.net.device.DeviceService;
* SNMP alarms provider.
*/
@Component(immediate = true)
+@Service
public class SnmpAlarmProviderService extends AbstractProvider implements AlarmProvider {
private final Logger log = getLogger(getClass());
+ private final InternalDeviceListener internalDeviceListener = new InternalDeviceListener();
+
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected CoreService coreService;
@@ -88,6 +92,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
public SnmpAlarmProviderService() {
super(new ProviderId("snmp", "org.onosproject.provider.alarm"));
+ log.info("SnmpAlarmProviderService ...");
sessionFactory = new SnmpSessionFactory(
new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration()));
providers.put("1.3.6.1.4.1.18070.2.2", new Bti7000SnmpAlarmProvider());
@@ -99,7 +104,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
appId = coreService.registerApplication("org.onosproject.snmp");
eventHandlingExecutor = Executors.newSingleThreadExecutor(
groupedThreads("onos/alarms", "event-handler"));
- deviceService.addListener(new InternalDeviceListener());
+ deviceService.addListener(internalDeviceListener);
log.info("activated SNMP provider with appId = {} and context props {}", appId, context.getProperties());
modified(context);
@@ -109,6 +114,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
@Deactivate
public void deactivate() {
log.info("deactivate SNMP provider {}", appId);
+ deviceService.removeListener(internalDeviceListener);
}
@Modified
diff --git a/providers/snmp/app/features.xml b/providers/snmp/app/features.xml
index 0874f54575..b8ab857f67 100644
--- a/providers/snmp/app/features.xml
+++ b/providers/snmp/app/features.xml
@@ -21,6 +21,7 @@
mvn:io.netty/netty/3.9.2.Final
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snmp4j/2.3.4_1
mvn:${project.groupId}/onos-snmp-provider-device/${project.version}
+ mvn:${project.groupId}/onos-snmp-provider-alarm/${project.version}
mvn:com.btisystems/snmp-core/1.3-SNAPSHOT
mvn:com.btisystems.mibbler.mibs/bti7000/1.0-SNAPSHOT
mvn:com.btisystems.mibbler.mibs/net-snmp/1.0-SNAPSHOT