Solved

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

Posted on 2003-11-17
3
243 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
3 Comments
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 9767547
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
ID: 9767885
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
ID: 11274883
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Custom Java Application connects to database: Which one of the 20? 4 59
Unhandled exception type Exception 18 65
ejb stateless example 2 69
Firefox and firebub 5 29
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Suggested Courses

710 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