Hi,
Last spring I worked on creating Cascaded WFS 2.0.0 Stored Query support
into GeoTools and GeoServer. This work has been done for the Finnish
Meteorological Institute. I've now resumed my work after GeoServer 2.6 got
released and development stabilized (and my schedule freed up), and I'm
working on a pull request for GeoTools. I've been discussing the changes
with Jody and I and/or we have two questions for all of you regarding our
conversation. I've split these two questions into separate emails so the
discussion won't get confused.
Also, if anyone else wants to check out the pull request, please do. Given
enough eyeballs, and so on.
In wfs-ng WFSDataStore, I have a Map for caching StoredQueryDescriptions.
The key for the map is the id of the stored query in question (as a
String). The Map is populated lazily and it's entirely possible that
multiple threads might access the same stored query at the same time. I use
a ConcurrentHashMap to avoid basic synchronization issues, but this
particular code is to safeguard GeoTools from querying the same information
from the WFS in multiple threads at the same time.
https://github.com/sampov2/geotools/commit/f8a7d7cfe9c3c75e5619d9960a6747a220af1e43#commitcomment-8379257
The current strategy is very naive (synchronized(id.intern()) { }) and as
Jody correctly points out, other bits of code might be synchronizing on
these interned Strings.
My question is if there is a preferred and often used locking strategy in
GeoTools that fits the bill here?
Thanks,
Sampo
--
Sampo Savolainen
R&D Director, Spatineo Oy
[email protected]
+358-407555649
Linnankoskenkatu 16 A 17, 00250 Helsinki, Finland
www.spatineo.com, twitter.com/#!/spatineo
www.linkedin.com/company/spatineo-inc
This message may contain privileged and/or confidential information. If you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate, or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.
------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel