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 int
DEFAULT_PORT
private static java.lang.Object
jmDNS
private static java.lang.Class<?>
jmDNSClass
protected static Logger
LOGGER
Status logger.private static int
MAX_LENGTH
private 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.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.
-
-
-
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:
advertise
in 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:
unadvertise
in 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()
-
-