Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/Importer.java @ 497:67fd63e4ef66
Importer: centralized caching
flys-backend/trunk@1851 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 08 May 2011 15:29:45 +0000 |
parents | ed38839a6b08 |
children | 763c4137d6e1 |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/Importer.java Sun May 08 11:20:39 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/Importer.java Sun May 08 15:29:45 2011 +0000 @@ -9,13 +9,9 @@ import org.apache.log4j.Logger; -import org.hibernate.SessionFactory; -import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.HibernateException; -import de.intevation.flys.backend.SessionFactoryProvider; - public class Importer { private static Logger log = Logger.getLogger(Importer.class); @@ -23,9 +19,6 @@ public static final boolean DRY_RUN = Boolean.getBoolean("flys.backend.importer.dry.run"); - public static final ThreadLocal<Session> sessionHolder = - new ThreadLocal<Session>(); - protected List<ImportRiver> rivers; public Importer() { @@ -46,29 +39,22 @@ public void writeRivers() { log.debug("write rivers started"); - Session session = sessionHolder.get(); - for (ImportRiver river: rivers) { log.debug("writing river '" + river.getName() + "'"); river.storeDependencies(); - session.flush(); + ImporterSession.getInstance().getDatabaseSession().flush(); } log.debug("write rivers finished"); } public void writeToDatabase() { - SessionFactory sessionFactory = - SessionFactoryProvider.createSessionFactory(); - - Session session = sessionFactory.openSession(); - - sessionHolder.set(session); Transaction tx = null; try { - tx = session.beginTransaction(); + tx = ImporterSession.getInstance() + .getDatabaseSession().beginTransaction(); try { writeRivers(); @@ -91,10 +77,6 @@ } throw re; } - finally { - session.close(); - sessionHolder.remove(); - } } public static void main(String [] args) {