Re: [Quickfix-developers] problems using the quickfix library loaded into a javax MBean
Brought to you by:
orenmnero
From: Mike H. <mi...@an...> - 2003-03-17 17:07:57
|
I sorted this. it ended up being a classloader problem in jboss where the quickfix library was not loaded by the same classloader as my application. Cheers Mike On Fri, 2003-03-14 at 16:36, Mike Hepburn wrote: > hi Oren, >=20 > this is more than likely some mis-configuration of my jboss-server, so i > should really post there, but thanks for the help none the less :) >=20 > from the jboss output below, the top of the stack error is: >=20 > java.lang.UnsatisfiedLinkError: create at > org.quickfix.Settings.create(Native Method)=20 >=20 > which is the first call to the quickfix library after loading it i.e:=20 > Settings settings =3D new Settings(myCfgFile); >=20 > my ld_library_path is: >=20 > echo $LD_LIBRARY_PATH=20 > /installed/quickfix-1.4.0/lib:/installed/libxml2-2.4.22/lib:/installed/OR= Bit-0.5.17/lib:/installed/memprof-0.4.1/lib:/installed/gnubuild-4/lib:/inst= alled/QuantLib-0.3.0/lib:/installed/mico-2.3.3-1/lib:/installed/lesstif-0.9= 3.12/lib:/installed/gcc-2.95.3/lib:/installed/libodbc++-0.2.2-1/lib:/instal= led/unixODBC-2.2.0/lib:/installed/xemacs-21.4.5/lib:/usr/local/lib:/install= ed/sybase11.9.2/lib:/installed/sybase11.9.2/odbc/lib:/installed/datadirect-= 4.1/lib:/installed/ACE-5.2/ace:/home/mike/output/i686-pc-linux-gnu/ate/rele= ase/lib >=20 > the fully logged exception is: >=20 > 16:25:10,884 INFO [Server] JBoss (MX MicroKernel) [3.0.6 > (CVSTag=3DJBoss_3_0_6 Date=3D200301260037)] Started in 0m:18s:914ms > 16:25:36,973 INFO [STDOUT] In initiateFIX() > 16:25:36,973 INFO [STDOUT] getting file: > /home/mike/trees/ate/market/src/main/ejb/com/anvil/market/common/anvilmar= ket.properties > 16:25:37,167 WARN [jbossweb] WARNING: Exception for > /jmx-console/HtmlAdaptor > RuntimeErrorException: Error in MBean operation 'testFIX()' > Cause: java.lang.UnsatisfiedLinkError: create > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDis= patcher.java:307) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) > at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:227) > at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:196) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet= .java:183) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorS= ervlet.java:78) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.j= ava:60) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHa= ndler.java:280) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1717) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCont= ext.java:549) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1667) > at org.mortbay.http.HttpServer.service(HttpServer.java:862) > at org.jboss.jetty.Jetty.service(Jetty.java:497) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:759) > at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) > getTargetError(): > java.lang.UnsatisfiedLinkError: create > at org.quickfix.Settings.create(Native Method) > at org.quickfix.Settings.<init>(Unknown Source) > at test.session.QuickFixTest.initiateFIX(QuickFixTest.java:45) > at test.session.JNDIMap.testFIX(JNDIMap.java:20) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java= :39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= mpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDis= patcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) > at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:227) > at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:196) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet= .java:183) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorS= ervlet.java:78) > at > org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.j= ava:60) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHa= ndler.java:280) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1717) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCont= ext.java:549) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1667) > at org.mortbay.http.HttpServer.service(HttpServer.java:862) > at org.jboss.jetty.Jetty.service(Jetty.java:497) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:759) > at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) >=20 > On Fri, 2003-03-14 at 16:08, Oren Miller wrote: > > If you can post your LD_LIBRARY_PATH, your command > > line, and a printout of the exception being thrown, > > that will probably help more. > >=20 > > --- Mike Hepburn <mi...@an...> wrote: > > > Oren, > > >=20 > > > yep, ldd output: > > >=20 > > > ldd /installed/quickfix-1.4.0/lib/libquickfix_jni.so > > > libstdc++-libc6.1-2.so.3 =3D> > > > /installed/gcc-2.95.3/lib/libstdc++-libc6.1-2.so.3 > > > (0x403a3000) > > > libxml2.so.2 =3D> > > > /installed/libxml2-2.4.22/lib/libxml2.so.2 > > > (0x403ef000) > > > libz.so.1 =3D> /usr/lib/libz.so.1 (0x40499000) > > > libm.so.6 =3D> /lib/libm.so.6 (0x404a8000) > > > libc.so.6 =3D> /lib/libc.so.6 (0x404c5000) > > > /lib/ld-linux.so.2 =3D> /lib/ld-linux.so.2 > > > (0x80000000) > > >=20 > > > compiling and installing quickfix went without a > > > hitch. i could post the > > > config.log if it would help ?? > > >=20 > > > Cheers > > > Mike > > >=20 > > >=20 > > > On Fri, 2003-03-14 at 15:12, > > > OM...@th... wrote: > > > >=20 > > > > Is quickfix_jni.so finding all of its > > > dependencies? Run ldd on it to make > > > > sure that it is finding everything it needs. > > > >=20 > > > > --oren > > > >=20 > > > >=20 > > > >=20 > > > > > > > > > |---------+-----------------------------------------------> > > > > | | Mike Hepburn > > > <mi...@an...> | > > > > | | Sent by: =20 > > > | > > > > | | =20 > > > qui...@li...ur| > > > > | | ceforge.net =20 > > > | > > > > | | =20 > > > | > > > > | | =20 > > > | > > > > | | 03/14/2003 08:45 AM =20 > > > | > > > > | | =20 > > > | > > > > > > > > > |---------+-----------------------------------------------> > > > > =20 > > > > > >----------------------------------------------------------------------= ------------------------| > > > > | =20 > > > | > > > > | To: =20 > > > qui...@li... =20 > > > | > > > > | cc: =20 > > > | > > > > | Subject: [Quickfix-developers] problems > > > using the quickfix library loaded into a javax| > > > > | MBean =20 > > > | > > > > =20 > > > > > >----------------------------------------------------------------------= ------------------------| > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > hi, > > > >=20 > > > > i have a piece of code that statically loads the > > > quickfix_jni library > > > > into a javax MBean (NOT an ejb !!). the > > > loadLibrary call appears to work > > > > OK: > > > >=20 > > > > static { > > > > try { > > > > System.loadLibrary("quickfix_jni"); > > > > } catch(UnsatisfiedLinkError e) { > > > > System.out.println("Could not quickfix > > > library" + e); > > > > } > > > > System.out.println("Loaded library > > > quickfix_jni"); > > > > } > > > >=20 > > > > when i go to use the library for the first time > > > though, i get a > > > > java.lang.UnsatisfiedLinkError for the method > > > invocation. > > > >=20 > > > > i have set my runtime java.library.path and > > > $LD_LIBRAY_PATH to ensure > > > > the library is visible to my MBean but still no > > > joy. > > > >=20 > > > > does anyone know what i'm missing/recognize this > > > situation ? > > > >=20 > > > > i'm using j2sdk1.4, jboss3 and quickfix1.4.0 > > > (built on a linux box under > > > > gcc-2.95.3) > > > >=20 > > > >=20 > > > > Cheers > > > > Mike > > > >=20 > > > > (See attached file: signature.asc) > > > >=20 > > > >=20 > > > --=20 > > > > > ___________________________________________________________________ > > >=20 > > > Mike Hepburn Phone: +44 > > > (0)207 749 7900 > > > Anvil Software Limited Fax: +44 > > > (0)207 749 7916 > > > 51-53 Rivington Street E-mail: > > > mi...@an... > > > London EC2A 3SE =20 > > > ef...@ho... > > >=20 > > >=20 > >=20 > > > ATTACHMENT part 2 application/pgp-signature > > name=3Dsignature.asc > >=20 > >=20 > >=20 > > __________________________________________________ > > Do you Yahoo!? > > Yahoo! Web Hosting - establish your business online > > http://webhosting.yahoo.com > --=20 > ___________________________________________________________________ >=20 > Mike Hepburn Phone: +44 (0)207 749 7900 > Anvil Software Limited Fax: +44 (0)207 749 7916 > 51-53 Rivington Street E-mail: mi...@an... > London EC2A 3SE ef...@ho... >=20 --=20 ___________________________________________________________________ Mike Hepburn Phone: +44 (0)207 749 7900 Anvil Software Limited Fax: +44 (0)207 749 7916 51-53 Rivington Street E-mail: mi...@an... London EC2A 3SE ef...@ho... |