@javax.ejb.TransactionAttribute(TransactionAttributeType.SUPPORTS) interface ITestEjb { @javax.ejb.TransactionAttribute int getAge(); void setAge(int age); String getName(); void setName(String name); }
@Override @javax.ejb.TransactionAttribute public int getAge() { return age; }
@Override @javax.ejb.TransactionAttribute public int getAge() { return age; }
@Override @javax.ejb.TransactionAttribute(TransactionAttributeType.SUPPORTS) public String getName() { return name; }
@javax.ejb.TransactionAttribute int getAge();
@javax.ejb.TransactionAttribute(TransactionAttributeType.SUPPORTS) static class Ejb3AnnotatedBean2 implements ITestBean1 { private String name; private int age; @Override public String getName() { return name; } @Override public void setName(String name) { this.name = name; } @Override @javax.ejb.TransactionAttribute public int getAge() { return age; } @Override public void setAge(int age) { this.age = age; } }
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @Override public int incrementCount(String name) { return super.incrementCountInternal(name); }
@TransactionAttribute(TransactionAttributeType.REQUIRED) @Override public int incrementCount(String name) { return super.incrementCountInternal(name); }
@TransactionAttribute(TransactionAttributeType.NEVER) public void start() { // creating the SF should run schema creation emf = Persistence.createEntityManagerFactory( "pu-wf-ddl" ); }
/** * EJB implementation of {@link TestEntityDao} which declares transaction * semantics for {@link #incrementCount(String)} with * {@link TransactionAttributeType#REQUIRES_NEW}. * * @author Sam Brannen * @author Xavier Detant * @since 4.0.1 * @see RequiredEjbTxTestEntityDao */ @Stateless @Local(TestEntityDao.class) @TransactionAttribute(TransactionAttributeType.MANDATORY) public class RequiresNewEjbTxTestEntityDao extends AbstractEjbTxTestEntityDao { @Override public int getCount(String name) { return super.getCountInternal(name); } @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @Override public int incrementCount(String name) { return super.incrementCountInternal(name); } }
/** * EJB implementation of {@link TestEntityDao} which declares transaction * semantics for {@link #incrementCount(String)} with * {@link TransactionAttributeType#REQUIRED}. * * @author Sam Brannen * @author Xavier Detant * @since 4.0.1 * @see RequiresNewEjbTxTestEntityDao */ @Stateless @Local(TestEntityDao.class) @TransactionAttribute(TransactionAttributeType.MANDATORY) public class RequiredEjbTxTestEntityDao extends AbstractEjbTxTestEntityDao { @Override public int getCount(String name) { return super.getCountInternal(name); } @TransactionAttribute(TransactionAttributeType.REQUIRED) @Override public int incrementCount(String name) { return super.incrementCountInternal(name); } }
@Remove @TransactionAttribute(TransactionAttributeType.REQUIRED) public void stop() { // closing the SF should run the delayed schema drop delegate emf.close(); } }
@TransactionAttribute(TransactionAttributeType.REQUIRED) public void stop() { sessionFactory.close(); } }
@TransactionAttribute(TransactionAttributeType.NEVER) public void start() { try { Configuration configuration = new Configuration(); configuration = configuration.configure( "hibernate.cfg.xml" ); configuration.addAnnotatedClass( WildFlyDdlEntity.class ); sessionFactory = configuration.buildSessionFactory(); } catch (Throwable ex) { System.err.println( "Initial SessionFactory creation failed." + ex ); throw new ExceptionInInitializerError( ex ); } }
/** * <p>MessageDrivenBean implementation of the {@link JobExecutionHandler} interface</p> * * @author Daniel Meyer */ @MessageDriven( name="JobExecutionHandlerMDB", messageListenerInterface=JobExecutionHandler.class ) @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public class JobExecutionHandlerMDB implements JobExecutionHandler { public void executeJob(String job, CommandExecutor commandExecutor) { ExecuteJobHelper.executeJob(job, commandExecutor); } }
@TransactionAttribute(TransactionAttributeType.SUPPORTS) public class EjbProcessApplicationService implements ProcessApplicationService {
@TransactionAttribute(TransactionAttributeType.SUPPORTS) public class EjbProcessEngineService implements ProcessEngineService {
@Startup @ConcurrencyManagement(ConcurrencyManagementType.BEAN) @TransactionAttribute(TransactionAttributeType.REQUIRED) @ProcessApplication @Local(ProcessApplicationInterface.class)
/** * @author Tassilo Weidner */ @Singleton @Startup @ConcurrencyManagement(ConcurrencyManagementType.BEAN) @TransactionAttribute(TransactionAttributeType.REQUIRED) @ProcessApplication(deploymentDescriptors = {"deployment-descriptor-with-custom-filename.xml"}) @Local(ProcessApplicationInterface.class) public class AnnotatedEjbPa extends EjbProcessApplication { @PostConstruct public void start() { deploy(); } @PreDestroy public void stop() { undeploy(); } }
/** * Custom {@link EjbProcessApplication} with PA lifecycle callbacks * * @author Daniel Meyer * */ @Singleton @Startup @ConcurrencyManagement(ConcurrencyManagementType.BEAN) @TransactionAttribute(TransactionAttributeType.REQUIRED) @ProcessApplication @Local(ProcessApplicationInterface.class) public class CustomEjbProcessApplication extends EjbProcessApplication { @PostDeploy public void postDeploy(ProcessEngine processEngine) { Assert.assertNotNull(processEngine); } @PreUndeploy public void preUnDeploy(ProcessEngine processEngine) { Assert.assertNotNull(processEngine); } }