Bean chamando método nele próprio, iniciando uma nova transação

Pessoal,

Tenho um EJB, com três métodos, sendo que o metodo1 chama o metodo2, que chama o metodo 3.

Algo do tipo:

...
public void method1(){
   method2();
}

public void method2(){
   try{
      ...
   }catch(Throwable){
      method3();
   }
}

public void method3(){

}
...

O method1 inicia uma transação, e chama o method2, que deve iniciar uma nova transação. Se o method2 lançar uma exceção, o method3 deverá ser chamado, iniciando uma nova transação.

Defini no ejb-jar.xml que os metódos method1, method2 e method3 requerem uma nova transação.

Porém, chamando da forma como apresentei acima, somente o method1 inicia a transação, visto que as demais chamadas ocorrem na mesma instância.

Estaria correto eu chamar um novo bean da mesma instância dentro dela mesma, de forma que as chamadas ao method2 e method3 iniciem uma nova transação, respeitando o atributo transacional?

Se não, qual seria a melhor forma de fazer isto?

Obrigado