Debugging RMI on TCP Level
Question: I have connection timeouts or problems in the TCP/IP Stack, how can I debug them?
Check following link for details on RMI options.
Question: How do distributeme components know where the registry is running.
Answer: It is in the file distributeme.json in classpath in variables registryContainerHost and registryContainerPort.
Java Version Requirements
Question: Is a specific Java version required?
Answer: Yes, you should use at least 1.5, but 1.6 is recommended. Note, DistributeMe itself is compiled with 1.6, so if you want to use it with 1.5 you have to compile it from sources.
Version of registry vs. core
Question: Should the registry have the same version number as the other packages?
Answer: Generally: it is better, but not 100% necessary. If you are executing a minor update (1.0.1 to 1.0.2) you don't have to update the registry. However major updates (second number involved) like 1.0.x to 1.1.x indicate that the inter package protocols have been changed and therefor a complete update is required. The only exclusion to this rule is 1.0.5, it changes the registry protocol but we didn't update version numbers properly back then.
Question: Why is distribute-support a separate subproject and what is it for?
Answer: distributeme-support contains classes which are generated by distributeme-generator. Technically belonging to core, they can't be in core due to a dependency graph. Therefor a support project has been created. The support project contains classes that require distributeme technology to function, i.e. call a remote service. All distributeme-support services are @SupportService.
Does distributeme work with Java 1.7
Question: Why a service can not be started under Java 1.7 on MacOsX?
Answer: Due to BUG http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7180557 its not possible to start services on Mac right now.
However, client can run on Java 1.7 allright. Other platforms may be affected too. The Bug is that a request to getLocalHost() in InetAddress always throws an UnknownHostException under 1.7 and DistributeMe needs to know the host. A workaround is not known right now, but will be provided if the problem persists longer.