Hi Clint, Your usage of ejb-ref-name is perfectly legitimate. The issue is that you don't have the ejb-link element pointing to another bean in the same ejb-jar.xml
<ejb-ref> <ejb-ref-name>ejb/CabinEJB</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>com.titan.CabinHome</home> <remote>com.titan.Cabin</remote> <ejb-link>CabinEJB</ejb-link> </ejb-ref> Requiring any beans that reference each other to be in the same ejb-jar.xml is completely compliant with the EJB spec. In fact, the spec says, "The value of the ejb-link element must be the ejb-name of an enterprise bean in the same ejb-jar file or in another ejb-jar file in the same J2EE application unit." We don't support J2EE .ear files, so the later won't work for us. In the EJB 2.0 spec, they added ability to link beans from other jars using this syntax: <ejb-link>../products/product.jar#ProductEJB</ejb-link> We haven't implemented this yet, but is something that will be required for 2.0 or 2.1 compliance. For now, it's just as easy to include both beans in the same ejb-jar.xml I've attached the ejb-jar.xml for our test suite, it is a great example of how to use the various elements of an ejb-jar.xml Let us know if you run into any more problems or have more questions. -David PS - Did you see this article? http://java.foundries.sourceforge.net/ > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]] On Behalf > Of Clint Olson > Sent: Friday, October 04, 2002 8:03 PM > To: openejb users > Subject: [OpenEJB-user] EJB Reference causes Assembler > NullPointerException > > > I can deploy and use a CMP Entity bean, and I can deploy > (e.g. openejb deploy -a ...) a Stateless Session bean that > references the Entity bean. But when I start the openejb > server it crashes as shown by the openejb.log text below. > Any ideas what I'm doing wrong? > > I guess I'm wondering if <ejb-name> in ejb-jar.xml is > "CabinEJB" for the CMP Entity bean, what should the > <ejb-ref-name> be in ejb-jar.xml for the Stateless Session > bean? I'm using "ejb/CabinEJB". > > Note that the Assembler NullPointerException does not happen > when I only have the Entity bean deployed, so this must have > something to do with the Stateless Session bean that is > referencing it. > > > > ************************************************************** > ****************** > OpenEJB http://openejb.sf.net > Startup: 10/4/02 5:35 PM > Copyright 2000,2001,2002 (C) OpenEJB Project, All Rights Reserved. > Version: 0.8.3 > Build date: 20021001 > Build time: 2020 > ************************************************************** > ****************** > > > DEBUG: No SecurityManager installed. Installing default. > DEBUG: Instantiating assembler class > org.openejb.alt.assembler.classic.Assembler > FATAL: OpenEJB has encountered a fatal error and cannot be > started: The Assembler encountered an unexpected error while > attempting to initialize. java.lang.NullPointerException > at > org.openejb.alt.config.ConfigurationFactory.initJndiReferences > (ConfigurationFactory.java:672) > at > org.openejb.alt.config.ConfigurationFactory.initEnterpriseBean > Infos(ConfigurationFactory.java:600) > at > org.openejb.alt.config.ConfigurationFactory.getOpenEjbConfigur > ation(ConfigurationFactory.java:182) > at > org.openejb.alt.assembler.classic.Assembler.init(Assembler.java:163) > at org.openejb.OpenEJB.init(OpenEJB.java:224) > at org.openejb.server.EjbDaemon.init(EjbDaemon.java:137) > at org.openejb.server.EjbDaemon.main(EjbDaemon.java:1104) > at org.openejb.server.Main.main(Main.java:121) > > > > ===== > Clinton S. Olson - Owner, Steven's Pass Carving Elvises > http://home.bak.rr.com/fl/fl.htm > > "The two most important things in life are good friends and a > strong bullpen" > > -- Bob Lemon, former manager Royals/White Sox/Yankees > > __________________________________________________ > Do you Yahoo!? > New DSL Internet Access from SBC & Yahoo! > http://sbc.yahoo.com > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > http://OpenEJB.sf.net > OpenEJB-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/openejb-user >
<?xml version="1.0" encoding="US-ASCII"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd"> <ejb-jar> <description> This ejb-jar file contains assembled enterprise beans that are part of employee self-service application. </description> <enterprise-beans> <!-- ######################################################## ######################################################## ###### CMP E N T I T Y B E A N S ################# ######################################################## ######################################################## --> <!-- ######################################################## ID: client/tests/entity/cmp/BasicCmpHome ######################################################## --> <entity> <description> The EmployeeRecord entity bean encapsulates access to the employee records.The deployer will use container-managed persistence to integrate the entity bean with the back-end system managing the employee records. </description> <ejb-name>BasicCmpBean</ejb-name> <home>org.openejb.test.entity.cmp.BasicCmpHome</home> <remote>org.openejb.test.entity.cmp.BasicCmpObject</remote> <ejb-class>org.openejb.test.entity.cmp.BasicCmpBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/cmp/allowed_operations/EntityHome ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>AOBasicCmpBean</ejb-name> <home>org.openejb.test.entity.cmp.BasicCmpHome</home> <remote>org.openejb.test.entity.cmp.BasicCmpObject</remote> <ejb-class>org.openejb.test.entity.cmp.AllowedOperationsCmpBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/cmp/EncBean ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>EncCmpBean</ejb-name> <home>org.openejb.test.entity.cmp.EncCmpHome</home> <remote>org.openejb.test.entity.cmp.EncCmpObject</remote> <ejb-class>org.openejb.test.entity.cmp.EncCmpBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <env-entry> <env-entry-name>entity/cmp/references/Boolean</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>entity/cmp/references/String</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Double</env-entry-name> <env-entry-type>java.lang.Double</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Long</env-entry-name> <env-entry-type>java.lang.Long</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Float</env-entry-name> <env-entry-type>java.lang.Float</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Integer</env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Short</env-entry-name> <env-entry-type>java.lang.Short</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/cmp/references/Byte</env-entry-name> <env-entry-type>java.lang.Byte</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>entity/cmp/beanReferences/cmp_entity</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.cmp.BasicCmpHome</home> <remote>org.openejb.test.entity.cmp.BasicCmpObject</remote> <ejb-link>BasicCmpBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>entity/cmp/beanReferences/stateful</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>entity/cmp/beanReferences/stateless</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-link>BasicStatelessBean</ejb-link> </ejb-ref> <resource-ref> <res-ref-name>datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <resource-ref> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/cmp/RMI-over-IIOP/EJBHome ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>Cmp RMI-IIOP Bean</ejb-name> <home>org.openejb.test.entity.cmp.RmiIiopCmpHome</home> <remote>org.openejb.test.entity.cmp.RmiIiopCmpObject</remote> <ejb-class>org.openejb.test.entity.cmp.RmiIiopCmpBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <ejb-ref> <ejb-ref-name>cmp/rmi-iiop/home</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.cmp.EncCmpHome</home> <remote>org.openejb.test.entity.cmp.EncCmpObject</remote> <ejb-link>EncCmpBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </entity> <!-- ######################################################## ######################################################## #### S T A T E F U L S E S S I O N B E A N S ##### ######################################################## ######################################################## --> <!-- ######################################################## ID: client/tests/stateful/BasicStatefulHome ######################################################## --> <session> <description>A basic stateful session bean with contianer-managed transaction demarcation that implements the javax.ejb.SessionSynchronization interface. </description> <ejb-name>BasicStatefulBean</ejb-name> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-class>org.openejb.test.stateful.BasicStatefulBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Container</transaction-type> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </session> <!-- ######################################################## ID: client/tests/stateful/BeanManagedBasicStatefulHome ######################################################## --> <session> <description>A basic stateful session bean with bean-managed transaction demarcation. </description> <ejb-name>Basic BMT StatefulBean</ejb-name> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-class>org.openejb.test.stateful.BMTStatefulBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Bean</transaction-type> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </session> <!-- ######################################################## ID: client/tests/stateful/BeanManagedTransactionTests/EJBHome ######################################################## --> <session> <description>A basic stateful session bean with bean-managed transaction demarcation. </description> <ejb-name>BMT StatefulBean</ejb-name> <home>org.openejb.test.stateful.BeanTxStatefulHome</home> <remote>org.openejb.test.stateful.BeanTxStatefulObject</remote> <ejb-class>org.openejb.test.stateful.BeanTxStatefulBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Bean</transaction-type> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> <resource-ref> <res-ref-name>datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateful/EncBean ######################################################## --> <session> <description>A basic stateful session bean with bean-managed transaction demarcation. </description> <ejb-name>EncStatefulBean</ejb-name> <home>org.openejb.test.stateful.EncStatefulHome</home> <remote>org.openejb.test.stateful.EncStatefulObject</remote> <ejb-class>org.openejb.test.stateful.EncStatefulBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Bean</transaction-type> <env-entry> <env-entry-name>stateful/references/Boolean</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>stateful/references/String</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Double</env-entry-name> <env-entry-type>java.lang.Double</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Long</env-entry-name> <env-entry-type>java.lang.Long</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Float</env-entry-name> <env-entry-type>java.lang.Float</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Integer</env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Short</env-entry-name> <env-entry-type>java.lang.Short</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateful/references/Byte</env-entry-name> <env-entry-type>java.lang.Byte</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>stateful/beanReferences/bmp_entity</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.bmp.BasicBmpHome</home> <remote>org.openejb.test.entity.bmp.BasicBmpObject</remote> <ejb-link>BasicBmpBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>stateful/beanReferences/stateful</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>stateful/beanReferences/stateless</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-link>BasicStatelessBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> <resource-ref> <res-ref-name>datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateful/RMI-over-IIOP/EJBHome ######################################################## --> <session> <description> The stateful bean for the RMI-IIOP Tests </description> <ejb-name>Stateful RMI-IIOP Bean</ejb-name> <home>org.openejb.test.stateful.RmiIiopStatefulHome</home> <remote>org.openejb.test.stateful.RmiIiopStatefulObject</remote> <ejb-class>org.openejb.test.stateful.RmiIiopStatefulBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Bean</transaction-type> <ejb-ref> <ejb-ref-name>stateful/rmi-iiop/home</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.EncStatefulHome</home> <remote>org.openejb.test.stateful.EncStatefulBean</remote> <ejb-link>EncStatefulBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </session> <!-- ######################################################## ######################################################## ### S T A T E L E S S S E S S I O N B E A N S #### ######################################################## ######################################################## --> <!-- ######################################################## ID: client/tests/stateless/BasicStatelessHome ######################################################## --> <session> <description>A basic stateless session bean with contianer-managed transaction demarcation. </description> <ejb-name>BasicStatelessBean</ejb-name> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-class>org.openejb.test.stateless.BasicStatelessBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <env-entry> <env-entry-name>stateless/references/JNDI_access_to_java_comp_env</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>Success</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>stateless/beanReferences/Enterprise_bean_access</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>BigWig</role-name> <role-link>Teller</role-link> </security-role-ref> <security-role-ref> <role-name>HighRoller</role-name> <role-link>Manager</role-link> </security-role-ref> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>stateless/references/Resource_manager_access</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateless/BeanManagedBasicStatelessHome ######################################################## --> <session> <description>A basic stateless session bean with bean-managed transaction demarcation. </description> <ejb-name>Basic BMT StatelessBean</ejb-name> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-class>org.openejb.test.stateless.BasicStatelessBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <env-entry> <env-entry-name>stateless/references/JNDI_access_to_java_comp_env</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>Success</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>stateless/beanReferences/Enterprise_bean_access</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>BigWig</role-name> <role-link>Teller</role-link> </security-role-ref> <security-role-ref> <role-name>HighRoller</role-name> <role-link>Manager</role-link> </security-role-ref> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>stateless/references/Resource_manager_access</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tools/DatabaseHome ######################################################## --> <session> <description>A basic stateless session bean with bean-managed transaction demarcation. </description> <ejb-name>DatabaseBean</ejb-name> <home>org.openejb.test.beans.DatabaseHome</home> <remote>org.openejb.test.beans.Database</remote> <ejb-class>org.openejb.test.beans.DatabaseBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <security-role-ref> <role-name>BigWig</role-name> <role-link>Teller</role-link> </security-role-ref> <security-role-ref> <role-name>HighRoller</role-name> <role-link>Manager</role-link> </security-role-ref> <resource-ref> <res-ref-name>database</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateless/BeanManagedTransactionTests/EJBHome ######################################################## --> <session> <description>A basic stateless session bean with bean-managed transaction demarcation. </description> <ejb-name>BMT StatelessBean</ejb-name> <home>org.openejb.test.stateless.BeanTxStatelessHome</home> <remote>org.openejb.test.stateless.BeanTxStatelessObject</remote> <ejb-class>org.openejb.test.stateless.BeanTxStatelessBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <security-role-ref> <role-name>BigWig</role-name> <role-link>Teller</role-link> </security-role-ref> <security-role-ref> <role-name>HighRoller</role-name> <role-link>Manager</role-link> </security-role-ref> <resource-ref> <res-ref-name>database</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateless/EncBean ######################################################## --> <session> <description> The stateless bean for the JNDI ENC tests </description> <ejb-name>EncStatelessBean</ejb-name> <home>org.openejb.test.stateless.EncStatelessHome</home> <remote>org.openejb.test.stateless.EncStatelessObject</remote> <ejb-class>org.openejb.test.stateless.EncStatelessBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <env-entry> <env-entry-name>stateless/references/JNDI_access_to_java_comp_env</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>Success</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Boolean</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>stateless/references/String</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Double</env-entry-name> <env-entry-type>java.lang.Double</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Long</env-entry-name> <env-entry-type>java.lang.Long</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Float</env-entry-name> <env-entry-type>java.lang.Float</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Integer</env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Short</env-entry-name> <env-entry-type>java.lang.Short</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>stateless/references/Byte</env-entry-name> <env-entry-type>java.lang.Byte</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>stateless/beanReferences/Enterprise_bean_access</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>stateless/beanReferences/bmp_entity</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.bmp.BasicBmpHome</home> <remote>org.openejb.test.entity.bmp.BasicBmpObject</remote> <ejb-link>BasicBmpBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>stateless/beanReferences/stateful</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>stateless/beanReferences/stateless</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-link>BasicStatelessBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> <resource-ref> <res-ref-name>datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </session> <!-- ######################################################## ID: client/tests/stateless/RMI-over-IIOP/EJBHome ######################################################## --> <session> <description> The stateless bean for the RMI-IIOP Tests </description> <ejb-name>Stateless RMI-IIOP Bean</ejb-name> <home>org.openejb.test.stateless.RmiIiopStatelessHome</home> <remote>org.openejb.test.stateless.RmiIiopStatelessObject</remote> <ejb-class>org.openejb.test.stateless.RmiIiopStatelessBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <ejb-ref> <ejb-ref-name>stateless/rmi-iiop/home</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateless.EncStatelessHome</home> <remote>org.openejb.test.stateless.EncStatelessBean</remote> <ejb-link>EncStatelessBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </session> <!-- ######################################################## ######################################################## ###### BMP E N T I T Y B E A N S ################# ######################################################## ######################################################## --> <!-- ######################################################## ID: client/tests/entity/bmp/BasicBmpHome ######################################################## --> <entity> <description> The EmployeeRecord entity bean encapsulates access to the employee records.The deployer will use container-managed persistence to integrate the entity bean with the back-end system managing the employee records. </description> <ejb-name>BasicBmpBean</ejb-name> <home>org.openejb.test.entity.bmp.BasicBmpHome</home> <remote>org.openejb.test.entity.bmp.BasicBmpObject</remote> <ejb-class>org.openejb.test.entity.bmp.BasicBmpBean</ejb-class> <persistence-type>Bean</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/bmp/allowed_operations/EntityHome ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>AOBasicBmpBean</ejb-name> <home>org.openejb.test.entity.bmp.BasicBmpHome</home> <remote>org.openejb.test.entity.bmp.BasicBmpObject</remote> <ejb-class>org.openejb.test.entity.bmp.AllowedOperationsBmpBean</ejb-class> <persistence-type>Bean</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <env-entry> <env-entry-name>stateless/references/JNDI_access_to_java_comp_env</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>Success</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>stateless/beanReferences/Enterprise_bean_access</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <resource-ref> <description> This is a reference to a JDBC database. </description> <res-ref-name>stateless/references/Resource_manager_access</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/bmp/EncBean ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>EncBmpBean</ejb-name> <home>org.openejb.test.entity.bmp.EncBmpHome</home> <remote>org.openejb.test.entity.bmp.EncBmpObject</remote> <ejb-class>org.openejb.test.entity.bmp.EncBmpBean</ejb-class> <persistence-type>Bean</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <env-entry> <env-entry-name>entity/bmp/references/Boolean</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>entity/bmp/references/String</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Double</env-entry-name> <env-entry-type>java.lang.Double</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Long</env-entry-name> <env-entry-type>java.lang.Long</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Float</env-entry-name> <env-entry-type>java.lang.Float</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Integer</env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Short</env-entry-name> <env-entry-type>java.lang.Short</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <env-entry> <env-entry-name>entity/bmp/references/Byte</env-entry-name> <env-entry-type>java.lang.Byte</env-entry-type> <env-entry-value>1</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>entity/bmp/beanReferences/bmp_entity</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.bmp.BasicBmpHome</home> <remote>org.openejb.test.entity.bmp.BasicBmpObject</remote> <ejb-link>BasicBmpBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>entity/bmp/beanReferences/stateful</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateful.BasicStatefulHome</home> <remote>org.openejb.test.stateful.BasicStatefulObject</remote> <ejb-link>BasicStatefulBean</ejb-link> </ejb-ref> <ejb-ref> <ejb-ref-name>entity/bmp/beanReferences/stateless</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.openejb.test.stateless.BasicStatelessHome</home> <remote>org.openejb.test.stateless.BasicStatelessObject</remote> <ejb-link>BasicStatelessBean</ejb-link> </ejb-ref> <resource-ref> <res-ref-name>datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <resource-ref> <res-ref-name>jdbc/basic/entityDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> <!-- ######################################################## ID: client/tests/entity/bmp/RMI-over-IIOP/EJBHome ######################################################## --> <entity> <description> blah, blah, blah </description> <ejb-name>Bmp RMI-IIOP Bean</ejb-name> <home>org.openejb.test.entity.bmp.RmiIiopBmpHome</home> <remote>org.openejb.test.entity.bmp.RmiIiopBmpObject</remote> <ejb-class>org.openejb.test.entity.bmp.RmiIiopBmpBean</ejb-class> <persistence-type>Bean</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <primkey-field>primaryKey</primkey-field> <ejb-ref> <ejb-ref-name>bmp/rmi-iiop/home</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>org.openejb.test.entity.bmp.EncBmpHome</home> <remote>org.openejb.test.entity.bmp.EncBmpObject</remote> <ejb-link>EncBmpBean</ejb-link> </ejb-ref> <security-role-ref> <role-name>TheMan</role-name> <role-link>Executive</role-link> </security-role-ref> </entity> </enterprise-beans> <assembly-descriptor> <security-role> <description>The description</description> <role-name>Teller</role-name> </security-role> <security-role> <description>The description</description> <role-name>Manager</role-name> </security-role> <security-role> <description>The description</description> <role-name>Accountant</role-name> </security-role> <security-role> <description>The description</description> <role-name>Executive</role-name> </security-role> <method-permission> <description>The description</description> <role-name>Teller</role-name> <method> <description>The description</description> <ejb-name>BasicStatelessBean</ejb-name> <method-name>remove</method-name> </method> </method-permission> <method-permission> <description>The description</description> <role-name>Accountant</role-name> <role-name>Manager</role-name> <method> <description>The description</description> <ejb-name>BasicStatefulBean</ejb-name> <method-name>*</method-name> </method> </method-permission> <container-transaction> <method> <ejb-name>BasicStatefulBean</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>BasicStatelessBean</ejb-name> <method-name>businessMethod</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>