2013-12-07 2 views
0

Я использую JBoss 7.1.1 для развертывания и junit 4.11 + arquillian 1.1.2 для тестирования. У меня есть следующий метод в моем @Stateless EJB.Невозможно поймать javax.ejb.EJBTransactionRolledbackException в моем ejb

public MyEntity create(MyEntity entity) { 
    try { 
     getEntityManager().persist(entity); 
    } catch (Throwable e) { 
     System.out.println("Caught! " + e.getClass().getName()); 
    } 
    return entity; 
} 

Субъект MyEntity имеет описание поля аннотированный следующим образом:

@Size(min = 1, max = 256) 
    private String description; 

Если я передать объект для создания(), которая не удовлетворяет выше ограничений, я ожидаю увидеть сообщение, но Я не вижу его. Вместо этого я получаю javax.ejb.EJBTransactionRolledbackException, как-то обходя блок try-catch.

Любые идеи, почему?

ответ

0

Поскольку исключение javax.ejb.EJBTransactionRolledbackException генерируется после того, как метода создания(). О чем я только думал!

Смежные вопросы