Be sure to relase all resources (closing db-connections!)
authorKai Moritz <kai@juplo.de>
Sat, 9 May 2015 21:48:39 +0000 (23:48 +0200)
committerKai Moritz <km@juplo.de>
Sat, 16 May 2015 11:29:43 +0000 (13:29 +0200)
src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java

index 3efa185..aebf02e 100644 (file)
@@ -541,8 +541,11 @@ public class Hbm2DdlMojo extends AbstractMojo
     // Clear unused system-properties
     config.setProperties(new Properties());
 
     // Clear unused system-properties
     config.setProperties(new Properties());
 
+
     ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
     ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+    StandardServiceRegistryImpl registry = null;
     MavenLogAppender.startPluginLog(this);
     MavenLogAppender.startPluginLog(this);
+
     try
     {
       /** Try to read configuration from properties-file */
     try
     {
       /** Try to read configuration from properties-file */
@@ -897,7 +900,7 @@ public class Hbm2DdlMojo extends AbstractMojo
 
       Environment.verifyProperties(config.getProperties());
       ConfigurationHelper.resolvePlaceHolders(config.getProperties());
 
       Environment.verifyProperties(config.getProperties());
       ConfigurationHelper.resolvePlaceHolders(config.getProperties());
-      StandardServiceRegistryImpl registry =
+      registry =
           (StandardServiceRegistryImpl)
           new StandardServiceRegistryBuilder()
               .applySettings(config.getProperties())
           (StandardServiceRegistryImpl)
           new StandardServiceRegistryBuilder()
               .applySettings(config.getProperties())
@@ -952,6 +955,9 @@ public class Hbm2DdlMojo extends AbstractMojo
 
       /** Restore the old class-loader (TODO: is this really necessary?) */
       Thread.currentThread().setContextClassLoader(contextClassLoader);
 
       /** Restore the old class-loader (TODO: is this really necessary?) */
       Thread.currentThread().setContextClassLoader(contextClassLoader);
+
+      if (registry != null)
+        registry.destroy();
     }
 
     /** Write md5-sums for annotated classes to file */
     }
 
     /** Write md5-sums for annotated classes to file */