NoClassDefFoundError HierarchicalStreamDriver when using STOMP
braiam Apr 17, 2011 3:55 PMHello.
Well, even with my long experience working with ESBs (an experience that spans for the last four hours working with Fuse ESB ) I am not able to establish a communication between Fuse ESB and the PHP STOMP client (http://stomp.fusesource.org/)
Fuse ESB starts correctly, and I'm able to use the web console. I've tried some xml examples of publishing to the ActiveMQ and everything works perfectly. But now I'm trying to publish a message using the PHP Stomp client
$con = new Stomp("tcp://localhost:61613");
$con->connect();
$con->send("/queue/test", "test");
$con->disconnect();
The request times out and prints this in the browser
Fatal error
: Uncaught exception 'StompException' with message 'Connection not acknowledged' in D:\Public\www\wwwroot\originacion\application\third_party\stomp\Stomp.php:213Stack trace:
#0 D:\Public\www\wwwroot\originacion\application\controllers\clientes.php(58): Stomp->connect()
#1 internal function: Clientes->doNew()
#2 D:\Public\www\wwwroot\originacion\system\core\CodeIgniter.php(339): call_user_func_array(Array, Array)
#3 D:\Public\www\wwwroot\originacion\index.php(201): require_once('D:\Public\www\w...')
#4
thrown in
D:\Public\www\wwwroot\originacion\application\third_party\stomp\Stomp.php
on line213
and this gets logged into the karaf console
karaf@root> Exception in thread "ActiveMQ Transport Server Thread Handler: stomp://localhost:61613" java.lang.NoClassDefFoundError
: com/thoughtworks/xstream/io/HierarchicalStreamDriver
at org.apache.activemq.transport.stomp.StompTransportFactory.compositeConfigure(StompTransportFactory.java:44)
at org.apache.activemq.transport.TransportFactory.serverConfigure(TransportFactory.java:270)
at org.apache.activemq.transport.tcp.TcpTransportServer.handleSocket(TcpTransportServer.java:421)
at org.apache.activemq.transport.tcp.TcpTransportServer$1.run(TcpTransportServer.java:354)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: com.thoughtworks.xstream.io.HierarchicalStreamDriver
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 5 more
What action should I perform to let Fuse ESB know where HierarchicalStreamDriver is? Should I install any feature? Should I run any maven command?
Thank you!
Regards
Braiam