| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- $Rev: 665986 $ $Date: 2008-06-10 09:05:30 +0300 (Tue, 10 Jun 2008) $ --> |
| |
| <ejb-jar version="2.1" |
| xmlns="http://java.sun.com/xml/ns/j2ee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"> |
| <display-name>TradeEJBs</display-name> |
| <enterprise-beans> |
| <session> |
| <description>Trade Session EJB manages all Trading services</description> |
| <display-name>TradeEJB</display-name> |
| <ejb-name>TradeEJB</ejb-name> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.ejb.Trade</remote> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeBean</ejb-class> |
| <session-type>Stateless</session-type> |
| <transaction-type>Container</transaction-type> |
| <env-entry> |
| <env-entry-name>orderBySQLSupported</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>true</env-entry-value> |
| </env-entry> |
| <env-entry> |
| <env-entry-name>updateQuotePrices</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>true</env-entry-value> |
| </env-entry> |
| <env-entry> |
| <env-entry-name>publishQuotePriceChange</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>false</env-entry-value> |
| </env-entry> |
| <ejb-ref> |
| <ejb-ref-name>ejb/Trade</ejb-ref-name> |
| <ejb-ref-type>Session</ejb-ref-type> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.ejb.Trade</remote> |
| <ejb-link>TradeEJB</ejb-link> |
| </ejb-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/Quote</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalQuoteHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalQuote</local> |
| <ejb-link>QuoteEJB</ejb-link> |
| </ejb-local-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/Account</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccount</local> |
| <ejb-link>AccountEJB</ejb-link> |
| </ejb-local-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/Holding</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalHoldingHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalHolding</local> |
| <ejb-link>HoldingEJB</ejb-link> |
| </ejb-local-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/Order</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalOrderHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalOrder</local> |
| <ejb-link>OrderEJB</ejb-link> |
| </ejb-local-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/KeySequence</ejb-ref-name> |
| <ejb-ref-type>Session</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeySequenceHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeySequence</local> |
| <ejb-link>KeySequenceEJB</ejb-link> |
| </ejb-local-ref> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/AccountProfile</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfileHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfile</local> |
| <ejb-link>AccountProfileEJB</ejb-link> |
| </ejb-local-ref> |
| <resource-ref> |
| <res-ref-name>jms/QueueConnectionFactory</res-ref-name> |
| <res-type>javax.jms.QueueConnectionFactory</res-type> |
| <res-auth>Application</res-auth> |
| <res-sharing-scope>Shareable</res-sharing-scope> |
| </resource-ref> |
| <resource-ref> |
| <res-ref-name>jms/TopicConnectionFactory</res-ref-name> |
| <res-type>javax.jms.TopicConnectionFactory</res-type> |
| <res-auth>Application</res-auth> |
| <res-sharing-scope>Shareable</res-sharing-scope> |
| </resource-ref> |
| <resource-ref> |
| <res-ref-name>jdbc/TradeDataSource</res-ref-name> |
| <res-type>javax.sql.DataSource</res-type> |
| <res-auth>Container</res-auth> |
| <res-sharing-scope>Shareable</res-sharing-scope> |
| </resource-ref> |
| <message-destination-ref> |
| <message-destination-ref-name>jms/TradeBrokerQueue</message-destination-ref-name> |
| <message-destination-type>javax.jms.Queue</message-destination-type> |
| <message-destination-usage>Produces</message-destination-usage> |
| <message-destination-link>TradeBrokerQueue</message-destination-link> |
| </message-destination-ref> |
| <message-destination-ref> |
| <message-destination-ref-name>jms/TradeStreamerTopic</message-destination-ref-name> |
| <message-destination-type>javax.jms.Topic</message-destination-type> |
| <message-destination-usage>Produces</message-destination-usage> |
| <message-destination-link>TradeStreamerTopic</message-destination-link> |
| </message-destination-ref> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| </session> |
| <session> |
| <description>Trade JPA Session EJB manages all Trading services</description> |
| <display-name>TradeJPA</display-name> |
| <ejb-name>TradeJPA</ejb-name> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.ejb.Trade</remote> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.TradeJPA</ejb-class> |
| <session-type>Stateless</session-type> |
| <transaction-type>Container</transaction-type> |
| <env-entry> |
| <env-entry-name>orderBySQLSupported</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>true</env-entry-value> |
| </env-entry> |
| <env-entry> |
| <env-entry-name>updateQuotePrices</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>true</env-entry-value> |
| </env-entry> |
| <env-entry> |
| <env-entry-name>publishQuotePriceChange</env-entry-name> |
| <env-entry-type>java.lang.Boolean</env-entry-type> |
| <env-entry-value>false</env-entry-value> |
| </env-entry> |
| <resource-ref> |
| <res-ref-name>jms/QueueConnectionFactory</res-ref-name> |
| <res-type>javax.jms.QueueConnectionFactory</res-type> |
| <res-auth>Application</res-auth> |
| <res-sharing-scope>Shareable</res-sharing-scope> |
| </resource-ref> |
| <resource-ref> |
| <res-ref-name>jms/TopicConnectionFactory</res-ref-name> |
| <res-type>javax.jms.TopicConnectionFactory</res-type> |
| <res-auth>Application</res-auth> |
| <res-sharing-scope>Shareable</res-sharing-scope> |
| </resource-ref> |
| <message-destination-ref> |
| <message-destination-ref-name>jms/TradeBrokerQueue</message-destination-ref-name> |
| <message-destination-type>javax.jms.Queue</message-destination-type> |
| <message-destination-usage>Produces</message-destination-usage> |
| <message-destination-link>TradeBrokerQueue</message-destination-link> |
| </message-destination-ref> |
| <message-destination-ref> |
| <message-destination-ref-name>jms/TradeStreamerTopic</message-destination-ref-name> |
| <message-destination-type>javax.jms.Topic</message-destination-type> |
| <message-destination-usage>Produces</message-destination-usage> |
| <message-destination-link>TradeStreamerTopic</message-destination-link> |
| </message-destination-ref> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| </session> |
| <session> |
| <description>Trade JDBC Session EJB manages all Trading services</description> |
| <display-name>TradeJDBC</display-name> |
| <ejb-name>TradeJDBC</ejb-name> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.session.TradeJDBCHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.session.TradeJDBC</remote> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.session.TradeJDBCBean</ejb-class> |
| <session-type>Stateless</session-type> |
| <transaction-type>Container</transaction-type> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| </session> |
| <entity> |
| <display-name>HoldingEJB</display-name> |
| <ejb-name>HoldingEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalHoldingHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalHolding</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.HoldingBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.Integer</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>Holding</abstract-schema-name> |
| <cmp-field> |
| <field-name>purchasePrice</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>holdingID</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>quantity</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>purchaseDate</field-name> |
| </cmp-field> |
| <primkey-field>holdingID</primkey-field> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>ejbSelectQuoteFromSymbol</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) from Quote q WHERE q.symbol = ?1</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findAll</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(h) from Holding h</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findByUserID</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(h) FROM Holding h WHERE |
| h.account.profile.userID = ?1</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findByAccountID</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(h) FROM Holding h WHERE |
| h.account.accountID = ?1</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(h) FROM Holding h WHERE |
| h.holdingID = ?1</ejb-ql> |
| </query> |
| </entity> |
| <message-driven> |
| <display-name>TradeBrokerMDB</display-name> |
| <ejb-name>TradeBrokerMDB</ejb-name> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeBrokerMDB</ejb-class> |
| <transaction-type>Container</transaction-type> |
| <message-destination-type>javax.jms.Queue</message-destination-type> |
| <message-destination-link>TradeBrokerQueue</message-destination-link> |
| <env-entry> |
| <env-entry-name>statInterval</env-entry-name> |
| <env-entry-type>java.lang.Integer</env-entry-type> |
| <env-entry-value>100</env-entry-value> |
| </env-entry> |
| <ejb-ref> |
| <ejb-ref-name>ejb/Trade</ejb-ref-name> |
| <ejb-ref-type>Session</ejb-ref-type> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.ejb.Trade</remote> |
| <ejb-link>TradeEJB</ejb-link> |
| </ejb-ref> |
| </message-driven> |
| <entity> |
| <display-name>AccountProfileEJB</display-name> |
| <ejb-name>AccountProfileEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfileHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfile</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.AccountProfileBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.String</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>AccountProfile</abstract-schema-name> |
| <cmp-field> |
| <field-name>address</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>passwd</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>userID</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>email</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>creditCard</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>fullName</field-name> |
| </cmp-field> |
| <primkey-field>userID</primkey-field> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query id="Query_5"> |
| <description/> |
| <query-method> |
| <method-name>findAll</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(a) FROM AccountProfile a</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(a) FROM AccountProfile a where |
| a.userID = ?1</ejb-ql> |
| </query> |
| </entity> |
| <entity> |
| <description>Stock price quotes including current, open, high, low, etc.</description> |
| <display-name>QuoteEJB</display-name> |
| <ejb-name>QuoteEJB</ejb-name> |
| <home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.QuoteHome</home> |
| <remote>org.apache.openejb.test.entity.cmp2.daytrader.ejb.Quote</remote> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalQuoteHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalQuote</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.QuoteBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.String</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>Quote</abstract-schema-name> |
| <cmp-field> |
| <field-name>low</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>open</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>volume</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>price</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>high</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>companyName</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>symbol</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>change</field-name> |
| </cmp-field> |
| <primkey-field>symbol</primkey-field> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query id="Query_6"> |
| <description/> |
| <query-method> |
| <method-name>findAll</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findQuotes</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findOne</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q where q.symbol = 's:0'</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findTSIAQuotesOrderByChange</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' ORDER BY q.change DESC</ejb-ql> |
| </query> |
| <query id="Query_10"> |
| <description/> |
| <query-method> |
| <method-name>ejbSelectTotalVolume</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT q.volume FROM Quote q</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findTSIAQuotes</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__'</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(q) FROM Quote q where q.symbol = ?1</ejb-ql> |
| </query> |
| </entity> |
| <session> |
| <display-name>KeySequenceEJB</display-name> |
| <ejb-name>KeySequenceEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeySequenceHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeySequence</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.KeySequenceBean</ejb-class> |
| <session-type>Stateless</session-type> |
| <transaction-type>Container</transaction-type> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/KeyGen</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeyGenHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeyGen</local> |
| <ejb-link>KeyGenEJB</ejb-link> |
| </ejb-local-ref> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| </session> |
| <entity> |
| <display-name>KeyGenEJB</display-name> |
| <ejb-name>KeyGenEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeyGenHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalKeyGen</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.KeyGenBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.String</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>KeyGen</abstract-schema-name> |
| <cmp-field> |
| <field-name>keyVal</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>keyName</field-name> |
| </cmp-field> |
| <primkey-field>keyName</primkey-field> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(kg) FROM KeyGen kg where |
| kg.keyName = ?1</ejb-ql> |
| </query> |
| </entity> |
| <entity> |
| <display-name>AccountEJB</display-name> |
| <ejb-name>AccountEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccount</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.AccountBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.Integer</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>Account</abstract-schema-name> |
| <cmp-field> |
| <field-name>creationDate</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>openBalance</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>logoutCount</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>balance</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>accountID</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>lastLogin</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>loginCount</field-name> |
| </cmp-field> |
| <primkey-field>accountID</primkey-field> |
| <ejb-local-ref> |
| <ejb-ref-name>ejb/AccountProfile</ejb-ref-name> |
| <ejb-ref-type>Entity</ejb-ref-type> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfileHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalAccountProfile</local> |
| <ejb-link>AccountProfileEJB</ejb-link> |
| </ejb-local-ref> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findByUserID</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <ejb-ql>SELECT OBJECT(a) FROM Account a WHERE |
| a.profile.userID = ?1</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findAll</method-name> |
| <method-params/> |
| </query-method> |
| <ejb-ql>SELECT OBJECT(a) FROM Account a</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findByUserIDForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(a) FROM Account a WHERE |
| a.profile.userID = ?1</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>ejbSelectClosedOrders</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </query-method> |
| <ejb-ql>SELECT o.orderID FROM Orders o WHERE |
| o.orderStatus = 'closed' AND o.account.accountID = ?1</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(a) FROM Account a where |
| a.accountID = ?1</ejb-ql> |
| </query> |
| </entity> |
| <entity> |
| <display-name>OrderEJB</display-name> |
| <ejb-name>OrderEJB</ejb-name> |
| <local-home>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalOrderHome</local-home> |
| <local>org.apache.openejb.test.entity.cmp2.daytrader.ejb.LocalOrder</local> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.OrderBean</ejb-class> |
| <persistence-type>Container</persistence-type> |
| <prim-key-class>java.lang.Integer</prim-key-class> |
| <reentrant>false</reentrant> |
| <cmp-version>2.x</cmp-version> |
| <abstract-schema-name>Orders</abstract-schema-name> |
| <cmp-field> |
| <field-name>orderFee</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>completionDate</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>orderType</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>orderStatus</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>price</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>quantity</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>openDate</field-name> |
| </cmp-field> |
| <cmp-field> |
| <field-name>orderID</field-name> |
| </cmp-field> |
| <primkey-field>orderID</primkey-field> |
| <security-identity> |
| <description/> |
| <use-caller-identity/> |
| </security-identity> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findAll</method-name> |
| <method-params/> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(o) FROM Orders o</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findClosedOrders</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(o) FROM Orders o WHERE |
| o.orderStatus = 'closed' AND |
| o.account.profile.userID = ?1</ejb-ql> |
| </query> |
| <query> |
| <description/> |
| <query-method> |
| <method-name>findByUserID</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(o) FROM Orders o WHERE |
| o.account.profile.userID = ?1 ORDER BY o.orderID DESC</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findByPrimaryKeyForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(o) FROM Orders o WHERE o.orderID = ?1</ejb-ql> |
| </query> |
| <query> |
| <query-method> |
| <method-name>findClosedOrdersForUpdate</method-name> |
| <method-params> |
| <method-param>java.lang.String</method-param> |
| </method-params> |
| </query-method> |
| <result-type-mapping>Local</result-type-mapping> |
| <ejb-ql>SELECT OBJECT(o) FROM Orders o WHERE |
| o.orderStatus = 'closed' AND |
| o.account.profile.userID = ?1</ejb-ql> |
| </query> |
| </entity> |
| <message-driven> |
| <ejb-name>TradeStreamerMDB</ejb-name> |
| <ejb-class>org.apache.openejb.test.entity.cmp2.daytrader.ejb.TradeStreamerMDB</ejb-class> |
| <transaction-type>Container</transaction-type> |
| <message-destination-type>javax.jms.Topic</message-destination-type> |
| <message-destination-link>TradeStreamerTopic</message-destination-link> |
| <env-entry> |
| <env-entry-name>statInterval</env-entry-name> |
| <env-entry-type>java.lang.Integer</env-entry-type> |
| <env-entry-value>100</env-entry-value> |
| </env-entry> |
| </message-driven> |
| </enterprise-beans> |
| <relationships> |
| <ejb-relation> |
| <ejb-relation-name>Account-Orders</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>AccountEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>orders</cmr-field-name> |
| <cmr-field-type>java.util.Collection</cmr-field-type> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Order-Has-Account</ejb-relationship-role-name> |
| <multiplicity>Many</multiplicity> |
| <cascade-delete/> |
| <relationship-role-source> |
| <ejb-name>OrderEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>account</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| </ejb-relation> |
| <ejb-relation> |
| <ejb-relation-name>Account-AccountProfile</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Account-Has-AccountProfile</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>AccountEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>profile</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>AccountProfileEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <cascade-delete/> |
| <relationship-role-source> |
| <ejb-name>AccountProfileEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>account</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| </ejb-relation> |
| <ejb-relation> |
| <ejb-relation-name>Account-Holdings</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>AccountEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>holdings</cmr-field-name> |
| <cmr-field-type>java.util.Collection</cmr-field-type> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Holding-Has-Account</ejb-relationship-role-name> |
| <multiplicity>Many</multiplicity> |
| <cascade-delete/> |
| <relationship-role-source> |
| <ejb-name>HoldingEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>account</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| </ejb-relation> |
| <ejb-relation> |
| <ejb-relation-name>Quote-Holdings</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Holding-Has-Quote</ejb-relationship-role-name> |
| <multiplicity>Many</multiplicity> |
| <relationship-role-source> |
| <ejb-name>HoldingEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>quote</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>QuoteEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>QuoteEJB</ejb-name> |
| </relationship-role-source> |
| </ejb-relationship-role> |
| </ejb-relation> |
| <ejb-relation> |
| <ejb-relation-name>Quote-Orders</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Order-Has-Quote</ejb-relationship-role-name> |
| <multiplicity>Many</multiplicity> |
| <cascade-delete/> |
| <relationship-role-source> |
| <ejb-name>OrderEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>quote</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>QuoteEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>QuoteEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>orders</cmr-field-name> |
| <cmr-field-type>java.util.Collection</cmr-field-type> |
| </cmr-field> |
| </ejb-relationship-role> |
| </ejb-relation> |
| <ejb-relation> |
| <ejb-relation-name>Order-Holding</ejb-relation-name> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>Order-Has-Holding</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <relationship-role-source> |
| <ejb-name>OrderEJB</ejb-name> |
| </relationship-role-source> |
| <cmr-field> |
| <cmr-field-name>holding</cmr-field-name> |
| </cmr-field> |
| </ejb-relationship-role> |
| <ejb-relationship-role> |
| <ejb-relationship-role-name>HoldingEJB</ejb-relationship-role-name> |
| <multiplicity>One</multiplicity> |
| <cascade-delete/> |
| <relationship-role-source> |
| <ejb-name>HoldingEJB</ejb-name> |
| </relationship-role-source> |
| </ejb-relationship-role> |
| </ejb-relation> |
| </relationships> |
| <assembly-descriptor> |
| <method-permission> |
| <description>UncheckedPermission:+:Unchecked method permission</description> |
| <unchecked/> |
| <method> |
| <ejb-name>AccountEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>AccountProfileEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>HoldingEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>KeyGenEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>KeySequenceEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>OrderEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>QuoteEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| </method-permission> |
| <container-transaction> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>publishQuotePriceChange</method-name> |
| <method-params> |
| <method-param>org.apache.openejb.test.entity.cmp2.daytrader.QuoteDataBean</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>double</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>queueOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>publishQuotePriceChange</method-name> |
| <method-params> |
| <method-param>org.apache.openejb.test.entity.cmp2.daytrader.QuoteDataBean</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>double</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>queueOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>publishQuotePriceChange</method-name> |
| <method-params> |
| <method-param>com.ibm.websphere.samples.trade.QuoteDataBean</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>java.math.BigDecimal</method-param> |
| <method-param>double</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>queueOrderOnePhase</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <trans-attribute>RequiresNew</trans-attribute> |
| </container-transaction> |
| <container-transaction> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>resetTrade</method-name> |
| <method-params> |
| <method-param>boolean</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>resetTrade</method-name> |
| <method-params> |
| <method-param>boolean</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>cancelOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>completeOrderOnePhaseDirect</method-name> |
| <method-params> |
| <method-param>java.lang.Integer</method-param> |
| </method-params> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-intf>Remote</method-intf> |
| <method-name>resetTrade</method-name> |
| <method-params> |
| <method-param>boolean</method-param> |
| </method-params> |
| </method> |
| <trans-attribute>NotSupported</trans-attribute> |
| </container-transaction> |
| <container-transaction> |
| <method> |
| <ejb-name>AccountEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>AccountProfileEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>HoldingEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>KeyGenEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>KeySequenceEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>OrderEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>QuoteEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeBrokerMDB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeEJB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeJPA</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeStreamerMDB</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <method> |
| <ejb-name>TradeJDBC</ejb-name> |
| <method-name>*</method-name> |
| </method> |
| <trans-attribute>Required</trans-attribute> |
| </container-transaction> |
| <message-destination> |
| <message-destination-name>TradeBrokerQueue</message-destination-name> |
| </message-destination> |
| <message-destination> |
| <message-destination-name>TradeStreamerTopic</message-destination-name> |
| </message-destination> |
| </assembly-descriptor> |
| </ejb-jar> |