package com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation; import javax.ejb.Stateful; import javax.persistence.PersistenceContextType; import javax.persistence.PersistenceContext; import javax.persistence.EntityNotFoundException; import javax.persistence.EntityManager; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; @Stateful public class SfulDelegateBean implements SfulDelegate { @PersistenceContext( unitName="lib/ejb-ejb30-persistence-tx_propagation-par1.jar#em", type=PersistenceContextType.EXTENDED) private EntityManager extendedEM; public EntityManager getEM() { return extendedEM; } public Person create(String name, String data) { Person p = new Person(name); p.setData(data); extendedEM.persist(p); return p; } public Person find(String name) { Person p = extendedEM.find(Person.class, name); System.out.println("Found " + p); return p; } public boolean remove(String name) { Person p = extendedEM.find(Person.class, name); boolean removed = false; if (p != null) { extendedEM.remove(p); removed = true; } return removed; } }