Objectspace's Voyager freezes on Namespace.lookup() call running under java 1.1 on Zaurus-5500 PDA.
Posted on 2003-11-11
I am trying to get an intrusion detection system running on a group of Zarusu-5500 PDA's communicating in an ad-hoc network mode. For this IDS, I would like to use mobile agents and have chosen Objectspace Inc's Voyager platform for my ORB and Messaging layers. I have a working application (IDS) using Voyager on multiple Linux desktop machines, running Java 1.4.2. When I attempt to run the application on the PDA's under java 1.1, I receive an exception:
Could not start agent server:
RuntimeRemoteException( java.net.ConnectException: Connection timed out: connect )
from the Namespace.lookup( serverName ) call to the PDA, where serverName = "//192.168.50.35:7000/Test" (<-- That is the IP of the PDA I am trying to add as a host for the mobile agent to move to). I know this is not a problem with my PATH or CLASSPATH variables and I know the code is working fine on the desktop machines. I have tried Voyager version 4.5 and 4.6.1, both with the same result. I suspect version 4.6.1 is not fully compatible with java 1.1, but I do not think I am using any calls that java 1.1 would dislike.
A typical run-through consists of: [on pda terminal, start up voyager orb server] >voyager tcp://192.168.50.35:7000
["voyager orb professional 4.6.1, copyright...." prints on pda terminal screen]
[on another machine, start up IDS console application for adding in hosts and agents]
[this console asks for a serverName from input and sends the Namespace.lookup(
serverName ) call]
[nothing returns from the pda, else timeout error as given above]
I don't know if this is relevant, but running 'netstat' on the pda terminal shows messages sitting in the recv-q for the tcp binding, specified during the voyager startup, after a namespace.lookup() is sent to the pda. Netstat also shows a connection gets established between the serverName (on pda) and the host machine doing the lookup() call. Thus, I assume binding works and voyager is binding the 'serverName' when the Namespace.lookup() request arrives and before any pointer is returned. My problem is that nothing gets returned and errors are very rare so I have no idea how to solve this problem.
Any help is greatly appreciated.