Solved

Objectspace's Voyager freezes on Namespace.lookup() call running under java 1.1 on Zaurus-5500 PDA.

Posted on 2003-11-17
3
236 Views
Last Modified: 2008-03-17
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 ORB server 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 as I have added all .jar files to the CLASSPATH and I know the code is working fine on the desktop machines. I have tried Voyager version 4.5, 4.6.1 and 4.7, all 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]

When running the console application from the PDA and the ORB server on a desktop machine, the console application throws an exception when trying to bind it's own ip address through Namespace.bind(). That exception is:

RuntimeRemoteException( java.io.IOException: java.lang.NoSuchMethodError: java/util/Vector.add(Ljava/lang/Object;)Z )

Since I am using java 1.1, java/util/Vector does not contain add(), but instead has addElement(). But, Voyager includes 'collections.jar' which has the java 1.2 version of java/util/Vector and supports add().

collections.jar is in my classpath, but it is possible Voyager is not using that newer version of Vector. Inside of collections.jar the path is com/sun/java/util/collections/Vector.class.

The Vector.add call from above is being called from inside of Voyager, a commercial application, so I can not change the call to Vector.addElement, nor change how that call is made or what paths are imported from inside the class that is calling Vector().

Any help on how to get this to use the correct Vector.class would be very helpful, and may be the only real problem I'm having (I hope).

Any help is greatly appreciated.
0
Comment
Question by:theotron5000
  • 3
3 Comments
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
Comment Utility
com.sun.java.util.collections.Vector and java.util.Vector are different classes.
To use com.sun.java.util.collections.Vector you need to create instances of it instead of java.util.Vector().

eg.

new com.sun.java.util.collections.Vector()

or:

import com.sun.java.util.collections.Vector;
...
new Vector();
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
If an existing classes is uses java.util.Vector, then there it is not possible to make it use com.sun.java.util.collections.Vector.
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

For customizing the look of your lightweight component and making it look lucid like it was made of glass. Or: how to make your component more Apple-ish ;) This tip assumes your component to be of rectangular shape and completely opaque. (COD…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now