Skip to main content

Problem getting 2.3.6 jxta working on Jamvm

1 reply [Last post]
Joined: 2007-06-12

Hi Everyone,

I had a previous post
This talked about running JXME on a JAMVM running over a ARM Processor. It turned out that it did not do a multicast so I had to move to JXSE.

It transpired the JAMVM did not have all the Java 1.5 functionality needed to run JXSE 2.5. I went back through the version numbers to the last Java 1.4.2 version, JXTA 2.3.6.

Because my target environment has no GUI I made the PlatformConfig on my host machine. I build the java application with the SUN 1.4.2 sdk. In testing the JXTA application found the PlatformConfig file and this worked without any problems.

I then have wrapped in a OSGI bundle to run on the JAMVM on the Apache Felix OSGI project.

On the host box I then tested it with JAMVM. It read the PlatformPlan but came up with the GUI. I then tried entering info and hit the "Okay" button. It hung. Eventually it disappeared. I came up with the below error.

I've found in a research paper that the IBM jvm could not support JXTA 2.2.1 because "the use of javax classes in a required library of JXTA, JXTA 2.2.1 does not run on top of the IBM JVM." GNU classpath has some javax libraries but is this a problem. Can JXTA only run on Sun JVM's or does it have to do with the OSGI bundle?

Any help would be greatly appreciated.

INFO: about to make new Net Peer Group
log4j:WARN No appenders could be found for logger (net.jxta.util.ClassFactory).
log4j:WARN Please initialize the log4j system properly.
java.lang.IllegalStateException: Failed to process private key
at net.jxta.impl.protocol.PSEConfigAdv.getEncryptedPrivKey(
at net.jxta.impl.protocol.PSEConfigAdv.getDocument(
at net.jxta.impl.peergroup.ConfigDialog.saveValues(
at net.jxta.impl.peergroup.ConfigDialog.access$700(
at net.jxta.impl.peergroup.ConfigDialog$3.actionPerformed(
at java.awt.Button.processActionEvent(
at java.awt.Button.processEvent(
at java.awt.Button.dispatchEventImpl(
at java.awt.Component.dispatchEvent(
at java.awt.EventQueue.dispatchEvent(
org.osgi.framework.BundleException: Activator start error.
at org.apache.felix.framework.Felix._startBundle(
at org.apache.felix.framework.Felix.startBundle(
at org.apache.felix.framework.BundleImpl.start(
Caused by: net.jxta.exception.JxtaError: Canceled during configuration
at net.jxta.impl.peergroup.ConfigDialog.untilDone(
at net.jxta.impl.peergroup.DefaultConfigurator.getPlatformConfig(
at net.jxta.impl.peergroup.Platform.initFirst(
at net.jxta.impl.peergroup.GenericPeerGroup.init(
at net.jxta.peergroup.PeerGroupFactory.newPlatform(
at net.jxta.peergroup.PeerGroupFactory.newNetPeerGroup(
at org.apache.felix.framework.util.SecureAction.startActivator(
at org.apache.felix.framework.Felix._startBundle(
...6 more
net.jxta.exception.JxtaError: Canceled during configuration

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2005-07-26

As the debug output shows, you get primary the problem, because something is wrong with security operation of yourApp ([b]private key, PSE service,[/b]…).
Before you got a warning, because the reporting level for logging isn’t set properly.

Then (secondary) you get problem with GUI of JXSE. This GUI relates to platform-configuration, which is not a part of JXTA specification. I recommend you to use the easy-to-use [b]net.jxta.platform.NetworkConfigurator[/b] to programmatically set the JXTA networking environment, meeting yourApp´s requirements (non-GUI target). ... So, than perhaps it’s better, if you use the JXSE 2.4.1 (compatible to Java SE 5.0) and move to JXSE 2.5, when it is released.

JXSE 2.5 offers a simplified API of GUI-based configuration of JXSE platform and makes intensive use of generics, introduced by Java SE 5.0.

All these statements without warranty. I’m not a JXTX experienced developer.