In the JBoss Getting Started Guide, things work up until page 23.
Then pressing the invoke button for the startDatabaseManager() method returns a blank screen with the message "Operation completed successfully without a return value."
I did modify the hsqldb-ds.xml file as directed on page 21, uncommenting the "connection-url and the "mbean" section plus uncommented the "depends" line that said it was needed for the tcp connection method. (I tried that line both ways since it was not shown in the guide, only in comments in the file).
I do understand the significance of the different server deploy directories, using the default directory, and running the default server.
The "ant -f jboss-build.xml db-list" command displays valid data to the screen that was inserted by a previous insert command, and the data is persistent when the jboss server is stopped and started, so the database must be using the data from default.script since the /usr/local/jboss/server/default/data/hypersonic/default.data file has no contents.
/usr/local/jboss is a link to /usr/local/jboss-3.2.3
Telnet to port 1701 will allow a connection.
The server.log shows the database starting and listening.
It does note that "server.properties not found, using command line or default properties". Those lines are as follows:
2004-04-07 19:36:21,386 INFO [STDOUT] server.properties not found, using command line or default properties
2004-04-07 19:36:21,426 INFO [STDOUT] Opening database: /usr/local/jboss-3.2.3/server/default/data/hypersonic/default
2004-04-07 19:36:21,426 INFO [STDOUT] HSQLDB server 1.7.1 is running
2004-04-07 21:47:59,040 INFO [org.jboss.jdbc.HypersonicDatabase] Started jboss:service=Hypersonic
2004-04-07 19:36:22,090 INFO [STDOUT] Wed Apr 07 19:36:22 MDT 2004 Listening for connections ...
The error thrown in the log at the problem point is as follows:
19:59:47,069 ERROR [STDERR] java.lang.NoClassDefFoundError
19:59:47,080 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
19:59:47,081 ERROR [STDERR] at java.lang.Class.forName(Class.java:141)
19:59:47,081 ERROR [STDERR] at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
19:59:47,082 ERROR [STDERR] at sun.awt.motif.MToolkit.(MToolkit.java:81)
19:59:47,082 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
19:59:47,083 ERROR [STDERR] at java.lang.Class.forName(Class.java:141)
19:59:47,083 ERROR [STDERR] at java.awt.Toolkit$2.run(Toolkit.java:748)
19:59:47,084 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
19:59:47,084 ERROR [STDERR] at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:739)
19:59:47,085 ERROR [STDERR] at java.awt.SystemColor.updateSystemColors(SystemColor.java:417)
19:59:47,085 ERROR [STDERR] at java.awt.SystemColor.(SystemColor.java:409)
19:59:47,086 ERROR [STDERR] at org.hsqldb.util.CommonSwing.setDefaultColor(Unknown Source)
19:59:47,086 ERROR [STDERR] at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source)
19:59:47,087 ERROR [STDERR] at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source)
19:59:47,087 ERROR [STDERR] at org.jboss.jdbc.HypersonicDatabase$1.run(HypersonicDatabase.java:207)
If I proceed to page 24 and deploy then I generate serious errors at all times after the login page, although the page after the login seems to still be able to show some data despite the errors.
The first error thrown in the log is java.lang.NoClassDefFoundError. Is that some kind of environment variable or path problem?
My environment includes
JAVA_HOME=/usr/local/java (java is a link to j2sdk1.4.2_04)
JBOSS_DIST=/usr/local/jboss (jboss is a link to jboss-3.2.3)
ANT_HOME=/usr/local/ant (ant is a link to apache-ant-1.6.1)
The jboss server on startup reports classpath as follows:
My system is a Linux setup, with a 2.4.18 kernel.
I would like to get past this problem and actually have a working system.
JBoss looks like a nice tool if it will work.
Any help is appreciated.
Ok -- new data. This seems a bit strange.
It works when I use Mozilla under X on the localhost machine.
I bombs when I use IE 6 under Win 2000 on a different machine on the same sub-net.
The windows machine runs the java applet on the Jboss Management Console just fine (http://10.0.0.5:8080/web-console/index.html). So the java runtime works on the IE browser.
It also runs the jmx-console fine (http://10.0.0.5:8080/jmx-console/index.jsp) and the JMX MBean view (http://10.0.0.5:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss%3Aservice%3DHypersonic). So it is talking to the jboss server just fine.
It bombs when I invoke the startDatabaseManager() operation.
Any ideas why it would be okay on Mozilla on the localhost and bomb on IE 6 on a machine on the same sub-net that does run a java applet from the same source? Are there IE settings that are important that distinguish between types of java applets?
I too am getting this same exact error. I also have edited the file as the JBoss turorial said.
Here is the lines from my edited hsqldb-ds.xml file in the default server directory...
<!-- The jndi name of the DataSource, it is prefixed with java:/ -->
<!-- Datasources are not available outside the virtual machine -->
<!-- for tcp connection, allowing other processes to use the hsqldb
database. This requires the org.jboss.jdbc.HypersonicDatabase mbean. -->
<!-- for totally in-memory db, not saved when jboss stops.
The org.jboss.jdbc.HypersonicDatabase mbean is unnecessary
<!-- for in-process db with file store, saved when jboss stops. The
org.jboss.jdbc.HypersonicDatabase is unnecessary
<!-- The driver class -->
<!-- This mbean should be used only when using tcp connections. Uncomment
when the tcp based connection-url is used. -->
I suffered the same problem, but then noticed somebody pointing out it's a straight java application, not a web-based one. I set the DISPLAY before starting jboss, then hit the startDatabaseManager button on my client (IE on a different machine), and a new window appeared on my chosen display (FWIW an xvnc session - much better than running a windows X server remotely). Not entirely intuitive, but it works.
That's a great tip for people UNIX users. I hadn't really thought of simply setting the DISPLAY. Very nice.