Académique Documents
Professionnel Documents
Culture Documents
com
Vipan Singla
e-mail: vipan@vipan.com
<?xml version="1.0"?>
<ejb-jar>
<enterprise-beans>
<ejb-class>com.bea.EJBE.solutions.BidBMPBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>pkg.BidBMPPK</prim-key-class>
<reentrant>False</reentrant>
</entity>
</enterprise-beans>
<assembly-descriptor></assembly-descriptor>
</ejb-jar>
<?xml version="1.0"?>
<ejb-jar>
<description>
EJBs for ... application.
</description>
<enterprise-beans>
<!-- One one or more "session" or "entity" tags -->
<session>
<!-- No relation to the EJB's JNDI name -->
<ejb-name>EmployeeService</ejb-name>
<home>com.wombat.empl.EmployeeServiceHome</home>
<remote>com.wombat.empl.EmployeeService</remote>
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
<!-- Stateful|Stateless -->
<session-type>Stateful</session-type>
<!-- Who manages transanction? Bean|Container -->
<transaction-type>Bean</transaction-type>
<!-- OPTIONAL:
env-entry*, ejb-ref*, security-role-ref*, resource-ref*
-->
<description>
Session between client and server
</description>
java.lang.Boolean|String|Integer|Double|Byte|Short|Long|Float
-->
<env-entry-type>String</env-entry-type>
<!-- OPTIONAL -->
<env-entry-value>some value</env-entry-value>
<description>This env entry is for ... </description>
</env-entry>
<session>
<description>
Session used by the applications administrator
</description>
<ejb-name>EmployeeServiceAdmin</ejb-name>
<home>com.wombat.empl.EmployeeServiceAdminHome</home>
<remote>com.wombat.empl.EmployeeServiceAdmin</remote>
<ejb-class>com.wombat.empl.EmployeeServiceAdmin-Bean</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Bean</transaction-type>
<resource-ref>
<description>
This is a reference to a JDBC database.
EmployeeService keeps a log of all
transactions performed through the
EmployeeService bean for auditing
purposes.
</description>
<res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
<entity>
<!-- cmp-field*, primkey-field?, env-entry*,
ejb-ref*, security-role-ref*, resource-ref* -->
<description>
Blah blah blah ...
</description>
<ejb-name>EmployeeRecord</ejb-name>
<home>com.wombat.empl.EmployeeRecordHome</home>
<remote>com.wombat.empl.EmployeeRecord</remote>
<ejb-class>com.wombat.empl.EmployeeRecordBean</ejb-class>
<!-- Bean|Container -->
<persistence-type>Container</persistence-type>
<!-- use java.lang.Object as a catch-all type,
but usually java.lang.String -->
<prim-key-class>com.wombat.empl.EmployeeID</prim-key-class>
<!-- OPTIONAL. For CMP and single-field primary keys only.
ONE of the cmp-fields.
-->
<!-<primkey-field>lastName</primkey-field>
-->
<!-- True|False -->
<reentrant>True</reentrant>
<cmp-field><field-name>managerID</field-name></cmp-field>
<cmp-field><field-name>jobTitleHis-tory</field-name></cmp-field>
</entity>
<entity>
<description>
CMP to pauroll database
</description>
<ejb-name>AardvarkPayroll</ejb-name>
<home>com.aardvark.payroll.PayrollHome</home>
<remote>com.aardvark.payroll.Payroll</remote>
<ejb-class>com.aardvark.payroll.PayrollBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>com.aardvark.payroll.Accoun-tID</prim-key-class>
<reentrant>False</reentrant>
<security-role-ref>
<role-name>payroll-org</role-name>
<role-link>payroll-department</role-link>
</security-role-ref>
</entity>
</enterprise-beans>
<security-role>
<description>
HR is allowed to ...
</description>
<role-name>hr-department</role-name>
</security-role>
<security-role>
<description>
IT is allowed to ...
</description>
<role-name>admin</role-name>
</security-role>
<method-permission>
<role-name>employee</role-name>
<method>
<ejb-name>EmployeeRecord</ejb-name>
<!-- Optional,
to pick the correct method if in both "Home" and "Remote" -->
<method-intf>Remote</method-intf>
<!-- If no method-params, refers to all overloadeded methods -->
<method-name>getDetail</method-name>
<!-- Optional, used to pick among overloaded methods -->
<!-<method-params>
<method-param>java.lang.String</method-param>
<method-param>int[]</method-param>
<method-param>yourPkg.YourClass</method-param>
<method-params>
-->
</method>
<method>
<ejb-name>EmployeeRecord</ejb-name>
<method-name>updateDetail</method-name>
<!-- To specify no-argument method -->
<!-<method-param></method-param>
-->
</method>
<method>
<ejb-name>EmployeeRecord</ejb-name>
<method-name>findByPrimaryKey</method-name>
</method>
</method-permission>
<method-permission>
<role-name>employee</role-name>
<method>
<ejb-name>AardvarkPayroll</ejb-name>
<method-name>findByPrimaryKey</method-name>
</method>
<method>
<ejb-name>AardvarkPayroll</ejb-name>
<method-name>getEmployeeInfo</method-name>
</method>
<method>
<ejb-name>AardvarkPayroll</ejb-name>
<method-name>updateEmployeeInfo</method-name>
</method>
</method-permission>
<container-transaction>
<method>
<ejb-name>AardvarkPayroll</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>