Commits

Anonymous committed 4dd9c6f

NMS-5730 remove old serviceregistry (mDNS) code

Comments (0)

Files changed (14)

dependencies/jmdns/pom.xml

-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>dependencies</artifactId>
-    <groupId>org.opennms</groupId>
-    <version>1.10.9-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.opennms.dependencies</groupId>
-  <artifactId>jmdns-dependencies</artifactId>
-  <packaging>pom</packaging>
-  <name>OpenNMS JMDNS Dependencies</name>
-  <dependencies>
-    <dependency>
-      <groupId>javax.jmdns</groupId>
-      <artifactId>jmdns</artifactId>
-      <version>3.4.0</version>
-    </dependency>
-  </dependencies>
-  <!--
-  <repositories>
-    <repository>
-      <snapshots><enabled>false</enabled><updatePolicy>${updatePolicy}</updatePolicy></snapshots>
-      <releases><enabled>true</enabled><updatePolicy>${updatePolicy}</updatePolicy></releases>
-      <id>opennms-repo</id>
-      <name>OpenNMS Maven Repository</name>
-      <url>http://maven.opennms.org/content/groups/opennms.org-release</url>
-    </repository>
-  </repositories>
-  -->
-</project>

dependencies/pom.xml

     <module>jersey</module>
     <module>jfreechart</module>
     <module>jinterop</module>
-    <module>jmdns</module>
     <module>jna</module>
     <module>jnlp</module>
     <module>jradius</module>

features/mdns/pom.xml

-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.opennms</groupId>
-    <artifactId>org.opennms.features</artifactId>
-    <version>1.10.9-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.opennms.features</groupId>
-  <artifactId>org.opennms.features.mdns</artifactId>
-  <name>OpenNMS Multicast DNS Support</name>
-  <dependencies>
-    <dependency>
-      <groupId>com.apple</groupId>
-      <artifactId>dnssd</artifactId>
-      <version>108.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opennms.dependencies</groupId>
-      <artifactId>jmdns-dependencies</artifactId>
-      <type>pom</type>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-</project>

features/mdns/src/main/java/org/opennms/serviceregistration/ServiceRegistrationFactory.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration;
-
-public class ServiceRegistrationFactory {
-	private static ServiceRegistrationStrategy s;
-	private static final String CLASS_PROPERTY = "org.opennms.serviceregistration.strategy";
-    private static final String[] classes = {
-            "org.opennms.serviceregistration.strategies.AppleStrategy",
-            "org.opennms.serviceregistration.strategies.JMDNSStrategy",
-            "org.opennms.serviceregistration.strategies.NullStrategy"
-    };
-	
-	private ServiceRegistrationFactory() {
-	}
-
-	public static synchronized ServiceRegistrationStrategy getStrategy() throws Exception {
-		if (s == null) {
-		    if (System.getProperty(CLASS_PROPERTY) != null) {
-		        try {
-	                s = (ServiceRegistrationStrategy)(Class.forName(System.getProperty(CLASS_PROPERTY)).newInstance());
-		        } catch (NoClassDefFoundError e) {
-		            System.err.println("unable to load class specified in " + CLASS_PROPERTY + ": " + e.getMessage());
-		        }
-		    }
-            if (s == null) {
-                for (String className : classes) {
-		            try {
-		                s = (ServiceRegistrationStrategy)(Class.forName(className).newInstance());
-		            } catch (NoClassDefFoundError e) {
-		                // fall through silently for now
-		            } catch (UnsatisfiedLinkError e) {
-                        // fall through silently for now
-		            }
-		            if (s != null) {
-		                break;
-		            }
-		        }
-		    }
-		}
-		
-		if (s == null) {
-		    System.err.println("an error occurred finding any service registration strategy");
-		}
-		return s;
-	}
-	
-	public Object clone() throws CloneNotSupportedException {
-		throw new CloneNotSupportedException("Singletons cannot be cloned.");
-	}
-
-}

features/mdns/src/main/java/org/opennms/serviceregistration/ServiceRegistrationStrategy.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration;
-
-import java.util.Map;
-
-public interface ServiceRegistrationStrategy {
-
-	/**
-	 * Initialize the service registration strategy.
-	 * @param serviceType  the service type string (eg, "http")
-	 * @param serviceName  the name of the service (eg, "My Service")
-	 * @param port         the port the service is listening on
-	 * @throws Exception
-	 */
-	public void initialize(String serviceType, String serviceName, int port) throws Exception;
-	
-	/**
-	 * Initialize the service registration strategy.
-	 * 
-	 * @param serviceType   the service type string (eg, "http")
-	 * @param serviceName   the name of the service (eg, "My Service")
-	 * @param port          the port the service is listening on
-	 * @param properties    other properties (eg, path = "/opennms")
-	 * @throws Exception
-	 */
-	public void initialize(String serviceType, String serviceName, int port, Map<String,String> properties) throws Exception;
-
-	/**
-	 * Register the service.
-	 */
-	public void register() throws Exception;
-	
-	/**
-	 * Unregister the service.
-	 */
-	public void unregister() throws Exception;
-}

features/mdns/src/main/java/org/opennms/serviceregistration/strategies/AppleStrategy.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration.strategies;
-
-import java.util.Map;
-
-import org.opennms.serviceregistration.ServiceRegistrationStrategy;
-
-import com.apple.dnssd.DNSSD;
-import com.apple.dnssd.DNSSDRegistration;
-import com.apple.dnssd.DNSSDService;
-import com.apple.dnssd.RegisterListener;
-import com.apple.dnssd.TXTRecord;
-
-public class AppleStrategy implements ServiceRegistrationStrategy, RegisterListener {
-	private boolean m_registered = false;
-	private DNSSDRegistration m_registration;
-	private String m_serviceType;
-	private String m_serviceName;
-	private int m_port;
-	private Map<String,String> m_properties;
-
-	public AppleStrategy() throws Exception {
-	}
-
-	public void initialize(final String serviceType, final String serviceName, final int port) throws Exception {
-		initialize(serviceType, serviceName, port, null);
-	}
-	
-	public void initialize(final String serviceType, final String serviceName, final int port, final Map<String,String> properties) throws Exception {
-		if (m_registered == true) {
-			throw new Exception("You have already m_registered a service with this object!");
-		}
-		
-		m_serviceType   = "_" + serviceType.toLowerCase() + "._tcp";
-		m_serviceName   = serviceName;
-		m_port          = port;
-		m_properties    = properties;
-	}
-
-	public void register() throws Exception {
-		if (m_registered == false) {
-			final TXTRecord txt = new TXTRecord();
-			if (m_properties != null) {
-				for (final String key : m_properties.keySet()) {
-					txt.set(key, m_properties.get(key));
-				}
-			}
-			DNSSD.register(0, 0, m_serviceName, m_serviceType, null, null, m_port, txt, this);
-		} else {
-			System.err.println("WARNING: register() called but the service has already been m_registered!");
-		}
-	}
-
-	public void unregister() throws Exception {
-		if (m_registered == true) {
-			if (m_registration != null) {
-				m_registration.stop();
-				m_registration = null;
-			} else {
-				System.err.println("WARNING: unregister() has been called, but m_registration previously failed.");
-			}
-		} else {
-			System.err.println("WARNING: unregister() called but no service has been m_registered.");
-		}
-		
-	}
-
-	public void serviceRegistered(final DNSSDRegistration registration, final int flags, final String serviceName, final String regType, final String domain) {
-		m_registration = registration;
-		m_registered = true;
-	}
-
-	public void operationFailed(final DNSSDService service, final int errorCode) {
-		m_registered = false;
-		System.err.println("m_registration failed for service '" + service + "' with error code '" + errorCode + "'");
-	}
-
-}

features/mdns/src/main/java/org/opennms/serviceregistration/strategies/JMDNSStrategy.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration.strategies;
-
-import java.util.Map;
-
-import javax.jmdns.JmDNS;
-import javax.jmdns.ServiceInfo;
-
-import org.opennms.serviceregistration.ServiceRegistrationStrategy;
-
-public class JMDNSStrategy implements ServiceRegistrationStrategy {
-	private boolean m_registered = false;
-	private JmDNS m_jmdns;
-	private ServiceInfo m_si;
-
-	public JMDNSStrategy() throws Exception {
-	}
-
-	public void initialize(final String serviceType, final String serviceName, final int port) throws Exception {
-		initialize(serviceType, serviceName, port, null);
-	}
-	
-	public void initialize(final String serviceType, final String serviceName, final int port, final Map<String,String> properties) throws Exception {
-		if (m_registered == true) {
-			throw new Exception("You have already m_registered a service with this object!");
-		}
-		
-		final String serviceTypeName   = "_" + serviceType.toLowerCase() + "._tcp.local.";
-		m_jmdns = JmDNS.create();
-		m_si = ServiceInfo.create(serviceTypeName, serviceName, port, 0, 0, properties);
-	}
-
-	public void register() throws Exception {
-		if (m_registered == false) {
-			m_jmdns.registerService(m_si);
-			m_registered = true;
-		} else {
-			System.err.println("WARNING: register() called but the service has already been m_registered!");
-		}
-	}
-
-	public void unregister() throws Exception {
-		if (m_registered == true) {
-			if (m_jmdns != null && m_si != null) {
-				m_jmdns.unregisterService(m_si);
-				m_jmdns.close();
-				m_registered = false;
-			} else {
-				System.err.println("WARNING: unregister() has been called, but registration previously failed.");
-			}
-		} else {
-			System.err.println("WARNING: unregister() called but no service has been m_registered.");
-		}
-		
-	}
-
-}

features/mdns/src/main/java/org/opennms/serviceregistration/strategies/NullStrategy.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration.strategies;
-
-import java.util.Map;
-
-import org.opennms.serviceregistration.ServiceRegistrationStrategy;
-
-public class NullStrategy implements ServiceRegistrationStrategy {
-
-	public void initialize(final String serviceType, final String serviceName, final int port) throws Exception {
-	}
-
-	public void initialize(final String serviceType, final String serviceName, final int port, final Map<String, String> properties) throws Exception {
-	}
-
-	public void register() throws Exception {
-	}
-
-	public void unregister() throws Exception {
-	}
-
-}

features/mdns/src/test/java/org/opennms/serviceregistration/AppleRegistrationTest.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration;
-
-import java.util.Hashtable;
-
-import org.opennms.serviceregistration.strategies.AppleStrategy;
-
-import junit.framework.TestCase;
-
-public class AppleRegistrationTest extends TestCase {
-	private AppleStrategy a;
-	private static int timeout = 8000;
-	
-	public AppleRegistrationTest() throws Exception {
-		a = new AppleStrategy();
-	}
-	
-	public void testMdnsShort() throws Throwable {
-		a.initialize("http", "Short Test", 1010);
-		a.register();
-		Thread.sleep(timeout);
-		a.unregister();
-	}
-	
-	public void testMdnsLong() throws Throwable {
-		Hashtable<String,String> properties = new Hashtable<String,String>();
-		properties.put("path", "/opennms");
-		a.initialize("http", "Long Test", 1011, properties);
-		a.register();
-		Thread.sleep(timeout);
-		a.unregister();
-	}
-}

features/mdns/src/test/java/org/opennms/serviceregistration/JMDNSRegistrationTest.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2011-2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.serviceregistration;
-
-import java.util.Hashtable;
-
-import junit.framework.TestCase;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.opennms.serviceregistration.strategies.JMDNSStrategy;
-
-public class JMDNSRegistrationTest extends TestCase {
-	private ServiceRegistrationStrategy a;
-	private static int timeout = 8000;
-
-	@Before
-	public void setUp() throws Exception {
-	    a = new JMDNSStrategy();
-	}
-
-	@Test
-	public void testMdnsShort() throws Exception {
-		a.initialize("http", "Short Test", 1010);
-		a.register();
-		Thread.sleep(timeout);
-		a.unregister();
-	}
-	
-    @Test
-	public void testMdnsLong() throws Exception {
-		Hashtable<String,String> properties = new Hashtable<String,String>();
-		properties.put("path", "/opennms");
-		a.initialize("http", "Long Test", 1011, properties);
-		a.register();
-		Thread.sleep(timeout);
-		a.unregister();
-	}
-}
     <module>acl</module>
     <module>jdbc-collector</module>
     <module>instrumentationLogReader</module>
-    <module>mdns</module>
     <module>poller</module>
     <module>provisioning</module>
     <module>root-webapp</module>

opennms-jetty/pom.xml

       <type>pom</type>
     </dependency>
     <dependency>
-      <groupId>org.opennms.features</groupId>
-      <artifactId>org.opennms.features.mdns</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
     </dependency>

opennms-jetty/src/main/java/org/opennms/netmgt/jetty/JettyServer.java

 import org.eclipse.jetty.webapp.WebAppContext;
 import org.opennms.netmgt.daemon.AbstractServiceDaemon;
 import org.opennms.netmgt.daemon.SpringServiceDaemon;
-import org.opennms.serviceregistration.ServiceRegistrationFactory;
-import org.opennms.serviceregistration.ServiceRegistrationStrategy;
 
 /**
  * Implements Web Application within OpenNMS as a Service Daemon.
     int m_port = 8080;
 
     private Server m_server;
-    private Hashtable<String,ServiceRegistrationStrategy> services = new Hashtable<String,ServiceRegistrationStrategy>();
     
     /**
      * <p>Constructor for JettyServer.</p>
                         contextPath = "/" + file.getName();
                     }
                     addContext(handlers, file, contextPath);
-                    registerService(port, contextPath);
                 }
             }
             if (rootDir != null) {
                 // If we deferred a ROOT context, handle that now
                 addContext(handlers, rootDir, "/");
-                registerService(port, "/");
             }
         }
 
     }
 
     /**
-     * <p>registerService</p>
-     *
-     * @param port a {@link java.lang.Integer} object.
-     * @param contextPath a {@link java.lang.String} object.
-     */
-    protected void registerService(Integer port, String contextPath) {
-        String contextName = contextPath.replace("/", "");
-
-        try {
-            ServiceRegistrationStrategy srs = ServiceRegistrationFactory.getStrategy();
-            String host = InetAddress.getLocalHost().getHostName().replace(".local", "").replace(".", "-");
-            Hashtable<String, String> properties = new Hashtable<String, String>();
-            properties.put("path", contextPath);
-            
-            srs.initialize("HTTP", contextName + "-" + host, port, properties);
-            services.put(contextName, srs);
-        } catch (Throwable e) {
-            log().warn("unable to get a DNS-SD object for context '" + contextPath + "'", e);
-        }
-    }
-
-    /**
      * <p>excludeCipherSuites</p>
      * @param contextFactory 
      * @param https_port 
         } catch (Throwable e) {
             log().error("Error starting Jetty Server", e);
         }
-        for (String key: services.keySet()) {
-        	ServiceRegistrationStrategy srs = services.get(key);
-        	if (srs != null) {
-            	try {
-            		srs.register();
-            	} catch (Throwable e) {
-            		log().warn("unable to register a DNS-SD object for context '" + key + "'", e);
-            	}
-        	}
-        }
     }
 
     /** {@inheritDoc} */
     @Override
     protected void onStop() {
-        for (String key: services.keySet()) {
-        	ServiceRegistrationStrategy srs = services.get(key);
-        	if (srs != null) {
-            	try {
-            		srs.unregister();
-            	} catch (Throwable e) {
-            		log().warn("unable to unregister a DNS-SD object for context '" + key + "'", e);
-            	}
-        	}
-        }
         try {
             m_server.stop();
         } catch (Throwable e) {
       </dependency>
       <dependency>
         <groupId>org.opennms.features</groupId>
-        <artifactId>org.opennms.features.mdns</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.opennms.features</groupId>
         <artifactId>org.opennms.features.request-tracker</artifactId>
         <version>${project.version}</version>
       </dependency>