TradeEJBs Trade Session EJB manages all Trading services TradeEJB TradeEJB org.apache.geronimo.samples.daytrader.ejb.TradeHome org.apache.geronimo.samples.daytrader.ejb.Trade org.apache.geronimo.samples.daytrader.ejb.TradeBean Stateless Container orderBySQLSupported java.lang.Boolean true updateQuotePrices java.lang.Boolean true publishQuotePriceChange java.lang.Boolean true ejb/Trade Session org.apache.geronimo.samples.daytrader.ejb.TradeHome org.apache.geronimo.samples.daytrader.ejb.Trade TradeEJB ejb/Quote Entity org.apache.geronimo.samples.daytrader.ejb.LocalQuoteHome org.apache.geronimo.samples.daytrader.ejb.LocalQuote QuoteEJB ejb/Account Entity org.apache.geronimo.samples.daytrader.ejb.LocalAccountHome org.apache.geronimo.samples.daytrader.ejb.LocalAccount AccountEJB ejb/Holding Entity org.apache.geronimo.samples.daytrader.ejb.LocalHoldingHome org.apache.geronimo.samples.daytrader.ejb.LocalHolding HoldingEJB ejb/Order Entity org.apache.geronimo.samples.daytrader.ejb.LocalOrderHome org.apache.geronimo.samples.daytrader.ejb.LocalOrder OrderEJB ejb/KeySequence Session org.apache.geronimo.samples.daytrader.ejb.LocalKeySequenceHome org.apache.geronimo.samples.daytrader.ejb.LocalKeySequence KeySequenceEJB ejb/AccountProfile Entity org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfileHome org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfile AccountProfileEJB jms/QueueConnectionFactory javax.jms.QueueConnectionFactory Application Shareable jms/TopicConnectionFactory javax.jms.TopicConnectionFactory Application Shareable jdbc/TradeDataSource javax.sql.DataSource Container Shareable jms/TradeBrokerQueue javax.jms.Queue Produces TradeBrokerQueue jms/TradeStreamerTopic javax.jms.Topic Produces TradeStreamerTopic HoldingEJB HoldingEJB org.apache.geronimo.samples.daytrader.ejb.LocalHoldingHome org.apache.geronimo.samples.daytrader.ejb.LocalHolding org.apache.geronimo.samples.daytrader.ejb.HoldingBean Container java.lang.Integer false 2.x Holding purchasePrice holdingID quantity purchaseDate holdingID ejbSelectQuoteFromSymbol java.lang.String Local SELECT OBJECT(q) from Quote q WHERE q.symbol = ?1 findAll Local SELECT OBJECT(h) from Holding h findByUserID java.lang.String Local SELECT OBJECT(h) FROM Holding h WHERE h.account.profile.userID = ?1 findByAccountID java.lang.Integer Local SELECT OBJECT(h) FROM Holding h WHERE h.account.accountID = ?1 findByPrimaryKeyForUpdate java.lang.Integer Local SELECT OBJECT(h) FROM Holding h WHERE h.holdingID = ?1 TradeBrokerMDB TradeBrokerMDB org.apache.geronimo.samples.daytrader.ejb.TradeBrokerMDB Container javax.jms.Queue TradeBrokerQueue statInterval java.lang.Integer 100 ejb/Trade Session org.apache.geronimo.samples.daytrader.ejb.TradeHome org.apache.geronimo.samples.daytrader.ejb.Trade TradeEJB AccountProfileEJB AccountProfileEJB org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfileHome org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfile org.apache.geronimo.samples.daytrader.ejb.AccountProfileBean Container java.lang.String false 2.x AccountProfile address password userID email creditCard fullName userID findAll Local SELECT OBJECT(a) FROM AccountProfile a findByPrimaryKeyForUpdate java.lang.String Local SELECT OBJECT(a) FROM AccountProfile a where a.userID = ?1 Stock price quotes including current, open, high, low, etc. QuoteEJB QuoteEJB org.apache.geronimo.samples.daytrader.ejb.QuoteHome org.apache.geronimo.samples.daytrader.ejb.Quote org.apache.geronimo.samples.daytrader.ejb.LocalQuoteHome org.apache.geronimo.samples.daytrader.ejb.LocalQuote org.apache.geronimo.samples.daytrader.ejb.QuoteBean Container java.lang.String false 2.x Quote low open volume price high companyName symbol change symbol findAll Local SELECT OBJECT(q) FROM Quote q findQuotes java.lang.String Local SELECT OBJECT(q) FROM Quote q findOne Local SELECT OBJECT(q) FROM Quote q where q.symbol = 's:0' findTSIAQuotesOrderByChange Local SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' ORDER BY q.change DESC ejbSelectTotalVolume Local SELECT q.volume FROM Quote q findTSIAQuotes Local SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' findByPrimaryKeyForUpdate java.lang.String Local SELECT OBJECT(q) FROM Quote q where q.symbol = ?1 KeySequenceEJB KeySequenceEJB org.apache.geronimo.samples.daytrader.ejb.LocalKeySequenceHome org.apache.geronimo.samples.daytrader.ejb.LocalKeySequence org.apache.geronimo.samples.daytrader.ejb.KeySequenceBean Stateless Container ejb/KeyGen Entity org.apache.geronimo.samples.daytrader.ejb.LocalKeyGenHome org.apache.geronimo.samples.daytrader.ejb.LocalKeyGen KeyGenEJB KeyGenEJB KeyGenEJB org.apache.geronimo.samples.daytrader.ejb.LocalKeyGenHome org.apache.geronimo.samples.daytrader.ejb.LocalKeyGen org.apache.geronimo.samples.daytrader.ejb.KeyGenBean Container java.lang.String false 2.x KeyGen keyVal keyName keyName findByPrimaryKeyForUpdate java.lang.String Local SELECT OBJECT(kg) FROM KeyGen kg where kg.keyName = ?1 AccountEJB AccountEJB org.apache.geronimo.samples.daytrader.ejb.LocalAccountHome org.apache.geronimo.samples.daytrader.ejb.LocalAccount org.apache.geronimo.samples.daytrader.ejb.AccountBean Container java.lang.Integer false 2.x Account creationDate openBalance logoutCount balance accountID lastLogin loginCount accountID ejb/AccountProfile Entity org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfileHome org.apache.geronimo.samples.daytrader.ejb.LocalAccountProfile AccountProfileEJB findByUserID java.lang.String SELECT OBJECT(a) FROM Account a WHERE a.profile.userID = ?1 findAll SELECT OBJECT(a) FROM Account a findByUserIDForUpdate java.lang.String Local SELECT OBJECT(a) FROM Account a WHERE a.profile.userID = ?1 ejbSelectClosedOrders java.lang.Integer SELECT o.orderID FROM Orders o WHERE o.orderStatus = 'closed' AND o.account.accountID = ?1 findByPrimaryKeyForUpdate java.lang.Integer Local SELECT OBJECT(a) FROM Account a where a.accountID = ?1 OrderEJB OrderEJB org.apache.geronimo.samples.daytrader.ejb.LocalOrderHome org.apache.geronimo.samples.daytrader.ejb.LocalOrder org.apache.geronimo.samples.daytrader.ejb.OrderBean Container java.lang.Integer false 2.x Orders orderFee completionDate orderType orderStatus price quantity openDate orderID orderID findAll Local SELECT OBJECT(o) FROM Orders o findClosedOrders java.lang.String Local SELECT OBJECT(o) FROM Orders o WHERE o.orderStatus = 'closed' AND o.account.profile.userID = ?1 findByUserID java.lang.String Local SELECT OBJECT(o) FROM Orders o WHERE o.account.profile.userID = ?1 ORDER BY o.orderID DESC findByPrimaryKeyForUpdate java.lang.Integer Local SELECT OBJECT(o) FROM Orders o WHERE o.orderID = ?1 findClosedOrdersForUpdate java.lang.String Local SELECT OBJECT(o) FROM Orders o WHERE o.orderStatus = 'closed' AND o.account.profile.userID = ?1 TradeStreamerMDB org.apache.geronimo.samples.daytrader.ejb.TradeStreamerMDB Container javax.jms.Topic TradeStreamerTopic statInterval java.lang.Integer 100 Account-Orders AccountEJB One AccountEJB orders java.util.Collection Order-Has-Account Many OrderEJB account Account-AccountProfile Account-Has-AccountProfile One AccountEJB profile AccountProfileEJB One AccountProfileEJB account Account-Holdings AccountEJB One AccountEJB holdings java.util.Collection Holding-Has-Account Many HoldingEJB account Quote-Holdings Holding-Has-Quote Many HoldingEJB quote QuoteEJB One QuoteEJB Quote-Orders Order-Has-Quote Many OrderEJB quote QuoteEJB One QuoteEJB orders java.util.Collection Order-Holding Order-Has-Holding One OrderEJB holding HoldingEJB One HoldingEJB UncheckedPermission:+:Unchecked method permission AccountEJB * AccountProfileEJB * HoldingEJB * KeyGenEJB * KeySequenceEJB * OrderEJB * QuoteEJB * TradeEJB * TradeEJB Remote publishQuotePriceChange org.apache.geronimo.samples.daytrader.QuoteDataBean java.math.BigDecimal java.math.BigDecimal double TradeEJB Remote cancelOrderOnePhase java.lang.Integer TradeEJB Remote completeOrderOnePhaseDirect java.lang.Integer TradeEJB Remote queueOrderOnePhase java.lang.Integer RequiresNew TradeEJB Remote cancelOrderOnePhaseDirect java.lang.Integer TradeEJB Remote completeOrderOnePhaseDirect java.lang.Integer TradeEJB Remote resetTrade boolean NotSupported AccountEJB * AccountProfileEJB * HoldingEJB * KeyGenEJB * KeySequenceEJB * OrderEJB * QuoteEJB * TradeBrokerMDB * TradeEJB * TradeStreamerMDB * Required TradeBrokerQueue TradeStreamerTopic