Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
217 views
in Technique[技术] by (71.8m points)

controls - Cannot Change Component Property Values

I have the latest version of Redhawk and CentOS, and I have run into a few problems right off the bat. Initially I couldn't see the Chalkboard and Sandbox, but that issue was resolved by commenting out (#) one of two lines in the eclipse.ini file:

 -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
 -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

I found this fix from here. It was noted that while there were no obvious errors that arose, there may be some unforeseen problems.

The issue I now have is that the property values of the components, like frequency or amplitude, cannot be altered. I can't alter them from the properties view or from the SCA Component Editor. I tried undoing the #, but the problem persisted. I have since looked into JacORB for solutions since the root of the Chalkboard problem seems to stem from there.

This is the last in the "caused by:" chain in the error log:

Caused by: 
     java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:305)
    ... 91 more

Anyone have any ideas on how to fix the JacORB issue without commenting it out or any ideas on how I can get permission to alter the values? Solutions to either one would be appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

UPDATE: This is not an issue starting with Java 7u65, 6u85. See ORB Singleton Class Loading Bug

The problem is due to the IDE trying to replace some CORBA-related classes found in the Java bootstrap class path with JacORB-supplied ones. Java briefly disallowed this for a few updates starting with 7u55 and 6u71. JacORB references the need to modify the bootstrap class path in their manual, section 27.1: JacORB Programming Guide

I was able to work around this with my 1.9.0 IDE by modifying the IDE's bootstrap class path to include JacORB and a JacORB dependency. My steps below assume an IDE in /usr/local/redhawk/eclipse. First, extract the JacORB jar from the plugin:

cd /usr/local/redhawk/eclipse/plugins
jar xf org.jacorb_* lib/jacorb.jar

Next, note the filename for the slf4j plugin:

ls org.slf4j.api_*

Now modify /usr/local/redhawk/eclipse/eclipse.ini so that the two jars are prepended to the bootstrap classpath. You'll want to use the absolute path to the two jars. A snippet from mine is below:

...
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Xbootclasspath/p:/usr/local/redhawk/eclipse/plugins/lib/jacorb.jar:/usr/local/redhawk/eclipse/plugins/org.slf4j.api_1.6.4.v20120130-2120.jar
...

If you startup from a console, you may see an error from slf4j, but I haven't found it to be problematic. If you've done it correctly, you should see the Sandbox show up in the SCA Explorer View, just above the Target SDR.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...