I have multithreaded application and got in triuble with uDig 1.2 / Oracle

Two threads start to insert data to same Oracle table. I get FeatureStore, for each thread I set new transaction. I debugged it under Eclipse - i get two distinct objects for FeatureStore, two distinct transactions, and one (same) instance of org.geotools.jdbc.JDBCDataStore class.

It gets locked on insert method

protected void insert(Collection features, SimpleFeatureType featureType, Connection cx) / starting at line 1218

First thread waits on 1223 :  synchronized (this) {
- this is perfectly OK for me.

The second hungs in 1249 : ps.execute();
 - is performing some internal socket read.

I tried this multiple times and always got the same problem. I checked in Oracle : select * from V$TRANSACTION gives me 2 transactions open.

So why two different transactions gets locked?? Is there any glitch in uDig pooling access to database? Or maybe there is one special way to start two autonomous transactions?

Can anybody help?

regards

Lukasz


_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to