Qpid Troubleshooting Guide
I'm getting a java.lang.UnsupportedClassVersionError when I
try to start the broker. What does this mean ?
The QPID broker requires JDK 1.5 or later. If you're seeing this
exception you don't have that version in your path. Set JAVA_HOME
to the correct version and ensure the bin directory is on your
path.
java.lang.UnsupportedClassVersionError:
org/apache/qpid/server/Main (Unsupported major.minor version
49.0)
at
java.lang.ClassLoader.defineClass(Ljava.lang.String;[BIILjava.security.ProtectionDomain;)Ljava.lang.Class;(Unknown
Source)
at
java.security.SecureClassLoader.defineClass(Ljava.lang.String;[BIILjava.security.CodeSource;)Ljava.lang.Class;(SecureClassLoader.java:123)
at
java.net.URLClassLoader.defineClass(Ljava.lang.String;Lsun.misc.Resource;)Ljava.lang.Class;(URLClassLoader.java:251)
at
java.net.URLClassLoader.access$100(Ljava.net.URLClassLoader;Ljava.lang.String;Lsun.misc.Resource;)Ljava.lang.Class;(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run()Ljava.lang.Object;
(URLClassLoader.java:194)
at
jrockit.vm.AccessController.do_privileged_exc(Ljava.security.PrivilegedExceptionAction;Ljava.security.AccessControlContext;I)Ljava.lang.Object;(Unknown
Source)
at
jrockit.vm.AccessController.doPrivileged(Ljava.security.PrivilegedExceptionAction;Ljava.security.AccessControlContext;)Ljava.lang.Object;(Unknown
Source)
at
java.net.URLClassLoader.findClass(Ljava.lang.String;)Ljava.lang.Class;(URLClassLoader.java:187)
at
java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;
(Unknown Source)
at
sun.misc.Launcher$AppClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;(Launcher.java:274)
at
java.lang.ClassLoader.loadClass(Ljava.lang.String;)Ljava.lang.Class;
(Unknown Source)
at
java.lang.ClassLoader.loadClassFromNative(II)Ljava.lang.Class;
(Unknown Source)
I'm having a problem binding to the required host:port at
broker startup ?
This error probably indicates that another process is using the
port you the broker is trying to listen on. If you haven't
amended the default configuration this will be 5672. To check
what process is using the port you can use 'netstat -an |grep
5672'.
To change the port your broker uses, either edit the config.xml
you are using. You can specify an alternative config.xml from the
one provided in /etc by using the -c flag i.e. qpid-server -c
<my config file path>.
You can also amend the port more simply using the -p option to
qpid-server i.e. qpid-server -p <my port number'
I'm having problems with my classpath. How can I ensure that
my classpath is ok ?
When you are running the broker the classpath is taken care of
for you, via the manifest entries in the launch jars that the
qpid-server configuration file adds to the classpath.
However, if you are running your own client code and experiencing
classspath errors you need to ensure that the client-launch.jar
from the installed Qpid lib directory is on your classpath. The
manifest for this jar includes the common-launch.jar, and thus
all the code you need to run a client application.
I can't get the broker to start. How can I diagnose the
problem ?
Firstly have a look at the broker log file - either on stdout or
in $QPID_WORK/log/qpid.log or in $HOME/log/qpid.log if you
haven't set QPID_WORK.
You should see the problem logged in here via log4j and a stack
trace. Have a look at the other entries on this page for common
problems. If the log file includes a line like:
"2006-10-13 09:58:14,672 INFO [main] server.Main (Main.java:343)
- Qpid.AMQP listening on non-SSL address 0.0.0.0/0.0.0.0:5672"
... then you know the broker started up. If not, then it didn't.
When I try to send messages to a queue I'm getting a error as
the queue does not exist. What can I do ?
In Qpid queues need a consumer before they really exist, unless
you have used the virtualhosts.xml file to specify queues which
should always be created at broker startup. If you don't want to
use this config, then simply ensure that you consume first from
queue before staring to publish to it. See the entry on our
for more details of using the virtualhosts.xml route.