必要なトランザクションメソッドを実装するセッションBeanがあるとします。
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void doTransaction() throws Exception {
    try {
        ...
        // call to non-EJB bean object (not session, stateless or entity bean)
    } catch (Exception e) {
        context.setRollbackOnly();
        throw e;
    }
}
doTransaction()が非Beanオブジェクトの内部状態を変更し、失敗したとします。ロールバックは非Beanの元の状態を復元しますか?そうでない場合、そのようなケースを処理するための推奨される方法は何でしょうか?(または、トランザクション内のPOJO呼び出しは許可されていませんか?)