This document contains release notes for JiniTM Discovery, JiniTM Lookup, and JavaSpacesTM Technology specifications and software.
If you have comments on the JXP, you can send email to jini-comments@java.sun.com. If you would like to submit a bug against the JXP, please send it to jini-submit@java.sun.com. If you encounter problems that you would like help with, you can subscribe to the jini-users list by sending email to listserv@java.sun.com, with a message of "subscribe jini-users".
The net.jini.discovery.LookupDiscovery
class provides
an API which may be used to find Jini Lookup services which are nearby
(LAN). To provide these capabilities, the implementation of this class
makes use of a set of network protocols in conjunction with
asynchronous event delivery.
Notable features of the LookupDiscovery
API are described below:
LookupDiscovery
employs three protocols: unicast request,
multicast request, and multicast announcement protocols.
net.jini.core.discovery.LookupLocator
class to start communications with a specific Jini Lookup service.
Several system properties -- some documented in the
specification, some not -- control the operation of the
LookupDiscovery
API. They are as follows:
net.jini.discovery.debug
System.err
.
net.jini.discovery.mtu
net.jini.discovery.ttl
net.jini.discovery.timeout
When attempting to use the discovery protocol on the SolarisTM operating system, the following exception can occur if the system is not configured correctly:
java.net.SocketException: error setting options
There are two actions that can be taken to diagnose this problem. First, verify that your network interfaces are configured for multicast by typing the following at the command prompt:
ifconfig -a
If your interfaces are configured for multicast, then the output to the above command should contain the word MULTICAST for each interface. For example, output to this command from a correctly-configured system would look something like:
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 129.148.54.200 netmask ffffff00 broadcast 129.148.54.255
Where the line containing the "inet" and "broadcast" IP addresses
(inet 129.148.54.200 netmask ffffff00 broadcast
129.148.54.255
) will contain addresses particular to your
system.
If your interfaces are not configured for multicast, have your system administrator reconfigure your system for multicast.
If your interfaces are configured for multicast, then the problem may be that multicast routing is not configured. To determine whether this is the problem, type the following at the command line:
netstat -nr
This command should produce output of the form:
Routing Table: Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 129.148.54.0 129.148.54.200 U 3 9740 hme0 224.0.0.0 129.148.54.200 U 3 0 hme0 default 129.148.54.157 UG 0 13646 127.0.0.1 127.0.0.1 UH 0 662071 lo0
If the output does not list the destination address 224.0.0.0,
check to see if the default interface for multicast route configuration
has been set in the file /etc/rc2.d/S72inetsvc
. On a machine installed with the Solaris 2.6 operating system, you should see the line:
/usr/sbin/route add -interface -netmask "240.0.0.0" "224.0.0.0" "$mcastif"
This line typically appears near the bottom of the file. If it does not appear, or is commented out, the default interface for multicast is not set. Have your system administrator modify this file to set this interface for your system.