SLP-FrequentQuestions
Frequently Asked Questions
- What does SLP mean ?
- Is SLP a standard ?
- Why do I get a BindException: permission denied on Linux/Unix ?
- On which JDK version and libraries LiveTribe :: SLP depends on ?
- How do I enable logging in LiveTribe :: SLP ?
What does SLP mean ?
SLP stands for Service Location Protocol.
Is SLP a standard ?
SLP is defined by IETF's RFC 2608, so yes, it is a standard.
Other commonly used standards defined by IETF are, among many others, the HTTP protocol (RFC 2616), the definition of URI (RFC 2396), the POP3 mail protocol (RFC 1939), etc.
Why do I get a BindException: permission denied on Linux/Unix ?
SLP uses the reserved port 427 to communicate. In Linux/Unix environments, this port can only be accessed by root.
There are two solutions:
- Run the application that uses SLP as root.
- Change the port that SLP uses to communicate to a port greater than 1024, for example 4427. This solution has the limit that you loose interoperability if you use other SLP implementations that rely exclusively on the standard SLP port, 427. This example shows how to change the default SLP port.
On which JDK version and libraries LiveTribe :: SLP depends on ?
LiveTribe :: SLP 2.x depends on J2SE 1.5 only.
LiveTribe :: SLP 2.x can be retrotranslated to run on J2SE 1.4, though this solution has not been tested thoroughly.
LiveTribe :: SLP 1.x depends on J2SE 1.4 and on the backport of java.util.concurrent for J2SE 1.4, version 2.1 or superior.
How do I enable logging in LiveTribe :: SLP ?
LiveTribe :: SLP uses java.util.logging as its logging framework.
You can specify a logging file (whose path is relative to the directory where the JVM has been started) with the system property java.util.logging.config.file.
LiveTribe :: SLP ships a simple log formatter that's less verbose and more efficient than the default J2SE 1.4 log formatter. The class is org.livetribe.util.logging.SimpleFormatter.
An example of configuration file can be:
# Output to the console handlers=java.util.logging.ConsoleHandler # Use the LiveTribe :: SLP formatter java.util.logging.ConsoleHandler.formatter=org.livetribe.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.encoding=UTF-8 java.util.logging.ConsoleHandler.level=ALL # Default logging level is info .level=INFO # Logging level for LiveTribe :: SLP is FINE org.livetribe.slp.level=FINE