Class MulticastDnsAdvertiser
- java.lang.Object
-
- org.apache.logging.log4j.core.net.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.
-
-
Field Summary
Fields Modifier and Type Field Description private static intDEFAULT_PORTprivate static java.lang.ObjectjmDNSprivate static java.lang.Class<?>jmDNSClassprotected static LoggerLOGGERStatus logger.private static intMAX_LENGTHprivate static java.lang.Class<?>serviceInfoClass
-
Constructor Summary
Constructors Constructor Description MulticastDnsAdvertiser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectadvertise(java.util.Map<java.lang.String,java.lang.String> properties)Advertise the provided entity.private static java.lang.ObjectbuildServiceInfoVersion1(java.lang.String zone, int port, java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties)private static java.lang.ObjectbuildServiceInfoVersion3(java.lang.String zone, int port, java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties)private static java.lang.ObjectcreateJmDnsVersion1()private static java.lang.ObjectcreateJmDnsVersion3()private static java.lang.ObjectinitializeJmDns()voidunadvertise(java.lang.Object serviceInfo)Unadvertise the previously advertised entity.
-
-
-
Field Detail
-
LOGGER
protected static final Logger LOGGER
Status logger.
-
MAX_LENGTH
private static final int MAX_LENGTH
- See Also:
- Constant Field Values
-
DEFAULT_PORT
private static final int DEFAULT_PORT
- See Also:
- Constant Field Values
-
jmDNS
private static java.lang.Object jmDNS
-
jmDNSClass
private static java.lang.Class<?> jmDNSClass
-
serviceInfoClass
private static java.lang.Class<?> serviceInfoClass
-
-
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:
advertisein interfaceAdvertiser- 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:
unadvertisein interfaceAdvertiser- 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()
-
-