Package info.ejava.examples.ejb.tx.ejb
Class WarehouseFacadeEJB
- java.lang.Object
-
- info.ejava.examples.ejb.tx.ejb.WarehouseFacadeEJB
-
- All Implemented Interfaces:
WarehouseRemote
public class WarehouseFacadeEJB extends Object implements WarehouseRemote
-
-
Field Summary
Fields Modifier and Type Field Description private CreateEJBbeanAprivate UpdateEJBbeanBprivate GetEJBbeanCprivate BmtCreateEJBbmtAprivate SessionContextctxprivate static org.slf4j.Loggerloggerprivate WarehouseTxEJBtxHelperprivate TxWatcherEJBtxWatcher
-
Constructor Summary
Constructors Constructor Description WarehouseFacadeEJB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcleanup()ProductcreateProductAndRollback(Product product)ProductcreateProductAndShipments(Product product, List<Shipment> shipments)The method creates an overall transaction and enlists the work of three separate EJBs to complete the work.ProductcreateProductAndShipments_Async(Product product, int quantity)ProductcreateProductAndShipments_NotSupported(Product product, List<Shipment> shipments)ProductcreateProductAndShipments_RequiresNew(Product product, List<Shipment> shipments)ProductcreateProductAndThrowChecked(Product product)ProductcreateProductAndThrowCheckedRollback(Product product)ProductcreateProductBmt(Product product)voiddestroy()ProductgetProduct(int productId)voidinit()
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
ctx
private SessionContext ctx
-
txHelper
private WarehouseTxEJB txHelper
-
txWatcher
private TxWatcherEJB txWatcher
-
beanA
private CreateEJB beanA
-
beanB
private UpdateEJB beanB
-
beanC
private GetEJB beanC
-
bmtA
private BmtCreateEJB bmtA
-
-
Method Detail
-
init
@PostConstruct public void init()
-
destroy
@PreDestroy public void destroy()
-
cleanup
public int cleanup()
- Specified by:
cleanupin interfaceWarehouseRemote
-
getProduct
public Product getProduct(int productId)
- Specified by:
getProductin interfaceWarehouseRemote
-
createProductAndShipments
public Product createProductAndShipments(Product product, List<Shipment> shipments) throws UnexpectedState
The method creates an overall transaction and enlists the work of three separate EJBs to complete the work. No persistence context will be shared between this and the three called EJBs. All interaction will at the database level.- Specified by:
createProductAndShipmentsin interfaceWarehouseRemote- Throws:
UnexpectedState
-
createProductAndShipments_NotSupported
public Product createProductAndShipments_NotSupported(Product product, List<Shipment> shipments) throws UnexpectedState
- Specified by:
createProductAndShipments_NotSupportedin interfaceWarehouseRemote- Throws:
UnexpectedState
-
createProductAndShipments_RequiresNew
public Product createProductAndShipments_RequiresNew(Product product, List<Shipment> shipments) throws UnexpectedState
- Specified by:
createProductAndShipments_RequiresNewin interfaceWarehouseRemote- Throws:
UnexpectedState
-
createProductAndShipments_Async
public Product createProductAndShipments_Async(Product product, int quantity) throws UnexpectedState
- Specified by:
createProductAndShipments_Asyncin interfaceWarehouseRemote- Throws:
UnexpectedState
-
createProductAndThrowChecked
public Product createProductAndThrowChecked(Product product) throws MyCheckedProductException
- Specified by:
createProductAndThrowCheckedin interfaceWarehouseRemote- Throws:
MyCheckedProductException
-
createProductAndThrowCheckedRollback
public Product createProductAndThrowCheckedRollback(Product product) throws MyCheckedRollbackProductException
- Specified by:
createProductAndThrowCheckedRollbackin interfaceWarehouseRemote- Throws:
MyCheckedRollbackProductException
-
createProductAndRollback
public Product createProductAndRollback(Product product)
- Specified by:
createProductAndRollbackin interfaceWarehouseRemote
-
createProductBmt
public Product createProductBmt(Product product)
- Specified by:
createProductBmtin interfaceWarehouseRemote
-
-