Class MulticastDnsAdvertiser

  • All Implemented Interfaces:
    Advertiser

    @Plugin(name="multicastdns",
            category="Core",
            elementType="advertiser",
            printObject=false)
    public class MulticastDnsAdvertiser
    extends java.lang.Object
    implements Advertiser
    Advertise an entity via ZeroConf/MulticastDNS and the JmDNS library. The length of property names and values must be 255 bytes or less. Entries with names or values larger than 255 bytes will be removed prior to advertisement.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object advertise​(java.util.Map<java.lang.String,​java.lang.String> properties)
      Advertise the provided entity.
      private static java.lang.Object buildServiceInfoVersion1​(java.lang.String zone, int port, java.lang.String name, java.util.Map<java.lang.String,​java.lang.String> properties)  
      private static java.lang.Object buildServiceInfoVersion3​(java.lang.String zone, int port, java.lang.String name, java.util.Map<java.lang.String,​java.lang.String> properties)  
      private static java.lang.Object createJmDnsVersion1()  
      private static java.lang.Object createJmDnsVersion3()  
      private static java.lang.Object initializeJmDns()  
      void unadvertise​(java.lang.Object serviceInfo)
      Unadvertise the previously advertised entity.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        protected static final Logger LOGGER
        Status logger.
      • jmDNS

        private static java.lang.Object jmDNS
      • jmDNSClass

        private static java.lang.Class<?> jmDNSClass
      • serviceInfoClass

        private static java.lang.Class<?> serviceInfoClass
    • Constructor Detail

      • MulticastDnsAdvertiser

        public MulticastDnsAdvertiser()
    • Method Detail

      • advertise

        public java.lang.Object advertise​(java.util.Map<java.lang.String,​java.lang.String> properties)
        Advertise the provided entity. Properties map provided in advertise method must include a "name" entry but may also provide "protocol" (tcp/udp) as well as a "port" entry The length of property names and values must be 255 bytes or less. Entries with names or values larger than 255 bytes will be removed prior to advertisement.
        Specified by:
        advertise in interface Advertiser
        Parameters:
        properties - the properties representing the entity to advertise
        Returns:
        the object which can be used to unadvertise, or null if advertisement was unsuccessful
      • unadvertise

        public void unadvertise​(java.lang.Object serviceInfo)
        Unadvertise the previously advertised entity.
        Specified by:
        unadvertise in interface Advertiser
        Parameters:
        serviceInfo -
      • createJmDnsVersion1

        private static java.lang.Object createJmDnsVersion1()
      • createJmDnsVersion3

        private static java.lang.Object createJmDnsVersion3()
      • buildServiceInfoVersion1

        private static java.lang.Object buildServiceInfoVersion1​(java.lang.String zone,
                                                                 int port,
                                                                 java.lang.String name,
                                                                 java.util.Map<java.lang.String,​java.lang.String> properties)
      • buildServiceInfoVersion3

        private static java.lang.Object buildServiceInfoVersion3​(java.lang.String zone,
                                                                 int port,
                                                                 java.lang.String name,
                                                                 java.util.Map<java.lang.String,​java.lang.String> properties)
      • initializeJmDns

        private static java.lang.Object initializeJmDns()