<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,8 +24,17 @@ import org.springframework.transaction.support.TransactionCallback
 import org.springframework.transaction.TransactionStatus
 import org.apache.commons.logging.LogFactory
 import org.codehaus.groovy.grails.commons.ApplicationHolder;
+import org.springframework.transaction.support.TransactionSynchronizationManager;
+import org.springframework.orm.hibernate3.SessionFactoryUtils;
+
 import org.disco.easyb.report.Report;
 import groovy.lang.GroovyShell;
+import org.hibernate.FlushMode;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.springframework.orm.hibernate3.SessionHolder;
+
+
 
 import java.io.File;
 import java.io.IOException;
@@ -100,7 +109,7 @@ target(testApp: &quot;The test app implementation target&quot;) {
   Ant.mkdir(dir: &quot;${testDir}/xml&quot;)
   Ant.mkdir(dir: &quot;${testDir}/plain&quot;)
 
-  reports = [new Report(location:&quot;${testDir}/xml/easyb.xml&quot;,format:&quot;xml&quot;,type:&quot;easyb&quot;),new Report(location:&quot;${testDir}/plain/stories.xml&quot;,format:&quot;txt&quot;,type:&quot;story&quot;),new Report(location:&quot;${testDir}/plain/specifications.txt&quot;,format:&quot;txt&quot;,type:&quot;specification&quot;)];
+  reports = [new Report(location:&quot;${testDir}/xml/easyb.xml&quot;,format:&quot;xml&quot;,type:&quot;easyb&quot;),new Report(location:&quot;${testDir}/plain/stories.txt&quot;,format:&quot;txt&quot;,type:&quot;story&quot;),new Report(location:&quot;${testDir}/plain/specifications.txt&quot;,format:&quot;txt&quot;,type:&quot;specification&quot;)];
 
   BehaviorRunner br = new BehaviorRunner(reports,appCtx,ApplicationHolder.application);
   br.runBehavior(testSource)
@@ -164,6 +173,7 @@ class BehaviorRunner {
       }
 
     }
+
     /**
     *
     * @param behaviorFiles
@@ -172,6 +182,10 @@ class BehaviorRunner {
     */
     private void executeSpecifications(final Collection&lt;File&gt; behaviorFiles, final BehaviorListener listener) throws IOException {
       for (File behaviorFile : behaviorFiles) {
+        def sessionFactory = appCtx.getBean(&quot;sessionFactory&quot;)
+        Session session = SessionFactoryUtils.getSession(sessionFactory, true);
+        TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session));
+        session.setFlushMode(FlushMode.AUTO)
         def behavior = null;
           try {
             behavior = BehaviorFactory.createBehavior(behaviorFile);
@@ -203,6 +217,10 @@ class BehaviorRunner {
           long endTime = System.currentTimeMillis();
 
           printMetrics(behavior, startTime, currentStep, endTime);
+          SessionHolder sessionHolder =	(SessionHolder) TransactionSynchronizationManager.unbindResource(sessionFactory);
+          SessionFactoryUtils.closeSession(sessionHolder.getSession());
+
+
         }
       }
 </diff>
      <filename>scripts/EasybTest.groovy</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>15cca3e6cf58b204c1e59a2210536bdf4aba7db1</id>
    </parent>
  </parents>
  <author>
    <name>Rodrigo Urubatan Ferreira Jardim</name>
    <email>rodrigo@urubatan.com.br</email>
  </author>
  <url>http://github.com/urubatan/easybtest/commit/4876b376aa79bc1d85b706d12f53dd95e9eea5a4</url>
  <id>4876b376aa79bc1d85b706d12f53dd95e9eea5a4</id>
  <committed-date>2008-04-07T06:34:36-07:00</committed-date>
  <authored-date>2008-04-07T06:34:36-07:00</authored-date>
  <message>hibernate transaction sincronization</message>
  <tree>5cb4fc1b4dca72a94562d47795bbb8f4755acb39</tree>
  <committer>
    <name>Rodrigo Urubatan Ferreira Jardim</name>
    <email>rodrigo@urubatan.com.br</email>
  </committer>
</commit>
