[jboss-user] [EJB 3.0] - Throw an exception dosnt cause to rollback when it is not in

avihaimar do-not-reply at jboss.com
Wed Jun 13 13:18:20 EDT 2007


I have a facade (Stateless) and a DAO (stateless) 

@Stateless 
@Local(HotelService.class) 
@Remote(HotelService.class) 
public class HotelServiceBean implements HotelService { 


    @EJB 
    private HotelDao hotelDao; 

    public List findAllHotels() { 
        return hotelDao.findAllHotels(); 
    } 

    public Hotel saveHotel(Hotel newHotel) { 
       Hotel hotel =  hotelDao.saveHotel(newHotel); 
       String test = null; 
       if(test == null){ 
          throw new RuntimeException(); 
       } 
        return hotel; 
    } 

} 


As you can see after the dao save the record i throw an exception , but the record was save to the DB and roll back was not executed. 

DS: 

<?xml version="1.0" encoding="UTF-8"?> 

<!-- $Id: mysql-ds.xml 41016 2006-02-07 14:23:00Z acoliver $ --> 
<!--  Datasource config for MySQL using 3.0.9 available from: 
http://www.mysql.com/downloads/api-jdbc-stable.html 
--> 

 
<local-tx-datasource>    
    <jndi-name>TestDS</jndi-name> 
    <connection-url>jdbc:mysql://localhost:3306/test</connection-url> 
    <driver-class>com.mysql.jdbc.Driver</driver-class> 
    <user-name>test</user-name> 
    1234 
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> 
    <!-- should only be used on drivers after 3.22.1 with "ping" support 
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> 
    --> 
    <!-- sql to call when connection is created 
    <new-connection-sql>some arbitrary sql</new-connection-sql> 
      --> 
    <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers 
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> 
      --> 

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> 
     
       <type-mapping>mySQL</type-mapping> 
     
</local-tx-datasource>    
 


Perssistence.xml 

 
  <persistence-unit name="Demo"> 
    <jta-data-source>java:/TestDS</jta-data-source> 
     
       
     
  </persistence-unit> 
 



Thank you very much!!!!!! 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054073#4054073

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054073



More information about the jboss-user mailing list