Don't know how much it will help, but I've got a couple of thoughts on
this problem:

* How are you starting JServ?  If you are starting manually, I'm
assuming you put an LD_LIBRARY_PATH setting into your startup script.
 For automatic startups, there is a setting in the jserv.properties file
you can use to pass this on:

    wrapper.env.LD_LIBRARY_PATH=/your/path/to/the/directory

* On the SERVLET-INTEREST list, there has been discussion of "well
known" bugs in JDK 1.1 that mess up access to native libraries from
classes that are loaded by a custom class loader -- which is the typical
case for servlets in Apache JServ.  The suggested workaround is to cause
the native library to be loaded from a class in the System CLASSPATH,
which might require you to put your servlet there (and forego the
automatic reload feature).

* That all being said, I have had bug problems with the Oracle thick
driver in many environments, but much more success with the thin (type
4) driver, which is pure Java and does not require you to deal with the
native libraries issue.  It also works even on platforms where you
haven't installed the Oracle SQL*Net runtimes.  You might give it a try.

Craig McClanahan



"Reid M. Pinchback" wrote:

> The recent thread on Oracle problems, combined with some work
> I needed to get done, motivated me to try something with
> JServ that I've already been able to do with JRun.  Surprise,
> surprise, it didn't work!  Here are the specifics.
>
> When using a thick JDBC driver, the Java runtime eventually
> needs to be able to load the dynamic library that implements
> the native interface.  In Solaris, this means that the JVM
> (1.1.7 in my case) will use LD_LIBRARY_PATH to find the
> appropriately-named ".so" file.  No matter what I try, I
> can't seem to get JServ to find that dynamic library.
>
> With JRun it is pretty easy; you start JRun before launching
> Apache, so you just make sure that you have LD_LIBRARY_PATH
> set appropriately before you launch JRun.
>
> With JServ (1.0b3, which I have linked statically into
> Apache 1.3.3), setting LD_LIBRARY_PATH before launching Apache
> doesn't work.  I haven't yet found a directory where I can copy
> the .so file and have it found (which would be of limited
> use anyways, since there are bucklet-loads of dynamic libraries
> that the native driver depends upon in turn, so ultimately
> I do have to find a proper fix to the problem).  Using PassEnv
> from mod_env doesn't seem to help either.
>
> This exact same code works when tested with JBuilder2 under
> windows, and a comparable approach (the JRun example mentioned
> above) works under Solaris, so I'm pretty sure I'm trying to
> do something relatively sane.
>
> Does anybody have any ideas on how to fix JServ to work with
> my choice of LD_LIBRARY_PATH?  Please cc me on any replies;
> that way I'll get them that much faster, and right about now
> faster sounds real good....
>
> ====================================================
> = Reid M. Pinchback                                =
> = I/T Delivery, MIT                                =
> =                                                  =
> = Email:   [EMAIL PROTECTED]                          =
> = URL:     http://mit.edu/reidmp/www/home.html     =
> ====================================================
>
> ----------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Archives and Other:  <http://java.apache.org/main/mail.html/>
> Problems?:           [EMAIL PROTECTED]



----------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html/>
Problems?:           [EMAIL PROTECTED]

Reply via email to