Re: Loading of native libraries in PLJAVA

From: Thomas Hallgren <thhal(at)mailblocks(dot)com>
To: Nageshwar Rao <NageshwarR(at)PLANETASIA(dot)COM>
Cc: Mohammed Mudassir <MudassirM(at)PLANETASIA(dot)COM>, pgsql-general(at)postgresql(dot)org
Subject: Re: Loading of native libraries in PLJAVA
Date: 2005-03-10 16:30:21
Message-ID: thhal-0og4MA4mcxycaYL7/1VjN8vwnZnqkIc@mailblocks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Nageshwar,
This is not the right forum for PL/Java issues. You should use mailing
list at pljava-dev(at)gborg(dot)postgresql(dot)org(dot)

> We are facing 2 problems in loading files from Pljava.
>
> 1. Loading Native C library from Pljava trigger.
>
> From Pljava trigger, we were trying to load native
> library, Using System.loadLibrary("<library_name>"), which is
>
> specified in the LD_LIBRARY_PATH.
>
The likely cause of this is that this library in turn have dependencies
to something not specified in the LD_LIBRARY_PATH or that you have some
mismatch in function naming. That in turn should be apparent from the
exception message (can't tell since you didn't convey it here).

>
> Also specified the library file under /var/lib/pljava
> where all the pljava specifc "*.so" files are located, which has an
> entry in the postgresql.conf -
> dynamic_library_path for "/var/lib/pljava",
>
>
> Both theses cases failed to load native library.
>
> we are getting this error in both cases-
> UnSatisfiedLinkedError
>
The dynamic_library_path is only used by the PostgreSQL backend when it
loads a module. It has no effect whatsoever on the System.loadLibrary
method.

>
> 2. Loading Properties file from trigger. (using
> Properties.load(<properties_name.properties>))
> We are unable to load properties file from
> Properties.load("<properties_name.properties>").
> we have included properties file in jar file and
> installed the jar and set the jar file in the classpath using
> "sqlj.set_classpath".
>
To my knowledge there's Properties.load method that takes a String argument.

You have to use the Class.getResourceAsString() in order to obtain an
InputStream for a resource stored in a jar file. The class in question
should be in the same package as the resource (i.e. your properties file).

Regards,
Thomas Hallgren

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Michael Fuhr 2005-03-10 16:39:41 Re: Problem with inherited table, can you help?...
Previous Message Tope Akinniyi 2005-03-10 16:19:36 Re: PostgreSQL still for Linux only?