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