From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | "L(dot) Rahyen" <research(at)science(dot)su> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Strange crashes in JDBC code in multithreaded application. |
Date: | 2007-08-05 02:57:50 |
Message-ID: | Pine.BSO.4.64.0708042249250.9854@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Sun, 5 Aug 2007, L. Rahyen wrote:
> Exception in thread "Thread-108" java.lang.NullPointerException
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:182)
> at ...
> at java.lang.Thread.run(libgcj.so.70)
>
This area of code reads:
175 if (parameters == null)
176 parameters = SimpleQuery.NO_PARAMETERS;
177
178 boolean describeOnly = (QUERY_DESCRIBE_ONLY & flags) != 0;
179
180 // Check parameters are all set..
181 if (!describeOnly)
182 ((V3ParameterList)parameters).checkAllParametersSet();
So it's complaining that parameters is null, but the code on line 175
should take care of that case. I note that you're using GCJ, does this
problem occur when using a Sun JVM?
> 1) This is a bug in JDBC. Is JDBC thread-safe? Is it supposed to be
> thread-safe by design? Obviously if not then initializing conn
> every time will be inefficient and I need to write a separate server to
> execute PSQL queries because I want to connect only once to the DB.
JDBC is thread safe. While PG's driver can only execute one query at a
time, it should block, not die like this.
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | L. Rahyen | 2007-08-06 18:04:33 | Re: Strange crashes in JDBC code in multithreaded application. |
Previous Message | L. Rahyen | 2007-08-05 02:16:12 | Strange crashes in JDBC code in multithreaded application. |