Spring does not rollback automatically on regular exceptions.  You
either have to explicitly tell it to, or throw a RuntimeException (or
one of its subclasses of course).

On Fri, Aug 29, 2008 at 3:26 PM, Markus <[EMAIL PROTECTED]> wrote:
> Hi all,
>
>
>
> I have the following Problem:
>
>
>
> I want a function to rollback everything when the database-part passes, but
> the email-sending throws an error.
>
>
>
> Now this is how I tried:
>
>
>
> applicationContext @ Spring:
>
>
>
> <bean id="sessionFactory"
>
>
> class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactor
> yBean">
>
>            <property name="dataSource" ref="dataSource" />
>
>            <property name="configLocation">
>
>                  <value>classpath:hibernate.cfg.xml</value>
>
>            </property>
>
>      </bean>
>
>      <bean id="transactionManager"
>
>
> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>
>            <property name="sessionFactory" ref="sessionFactory" />
>
>      </bean>
>
>      <tx:annotation-driven />
>
>
>
> A class injected into a component with Spring which should be transactional
> as a whole:
>
>
>
> @Transactional
>
>      @Override
>
>      public void createUser(Users user, String validateURL) throws
> Exception {
>
>            //TODO: geworbenDurch-User finden und Punkte geben.
>
>
>
>            //EMail versenden
>
>            MimeMessage message = mailSender.createMimeMessage();
>
>            MimeMessageHelper helper = new MimeMessageHelper(message);
>
>            //do stuff
>
>            mailSender.send(message);
>
>
>
>
>
>            // Persistent machen
>
>            usersDao.saveOrUpdate(user);
>
>            //usersDao.flush();
>
>
>
>
>
>            throw new Exception("xxx");
>
>      }
>
>
>
> (method of a Spring-loaded class)
>
>
>
> Now when everything passed and only my Exception(xxx) is thrown no Rollback
> is done???
>
> How can I manage this? I should not use .beginTransaction afaik, not to
> disturb the annotation-driven transaction-manager?
>
>
>
> Can anyone help me out?
>
>
>
> Regards
>
> Markus
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to