Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).

This page discusses - Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).

Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).

Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).

The deployment descriptor is part of the contract between the ejb-jar file producer and consumer.

The entity element declares an entity bean. The declaration consists of:

  • an optional description

  • an optional display-name

  • an optional small icon file name

  • an optional large icon file name

  • a unique name assigned to the enterprise bean in the deployment descriptor

  • the names of the entity bean’s home and remote interfaces, if any

  • the names of the entity bean’s local home and local interfaces, if any

  • the entity bean’s implementation class

  • the entity bean’s persistence management type

  • the entity bean’s primary key class name

  • an indication of the entity bean’s reentrancy

  • an optional specification of the entity bean’s cmp-version (2.x default)

  • an optional specification of the entity bean’s abstract schema name (CMP only)

  • an optional list of container-managed fields (CMP only)

  • an optional specification of the primary key field (CMP only)

  • an optional declaration of the bean’s environment entries

  • an optional declaration of the bean’s EJB references

  • an optional declaration of the bean’s local EJB references

  • an optional declaration of the security role references

  • an optional declaration of the security identity to be used for the execution of the bean’s methods

  • an optional declaration of the bean’s resource manager connection factory references

  • an optional declaration of the bean’s resource environment references

An optional set of query declarations for finder and select methods for an entity bean with cmp-version 2.x :
  • The optional abstract-schema-name element must be specified for an entity bean with container-managed persistence and cmp-version 2.x.

  • The optional primkey-field may be present in the descriptor if the entity’s persistence-type is Container.

  • The optional cmp-version element may be present in the descriptor if the entity’s persistence-type is Container. If the persistence-type is Container and the cmp-version element is not specified, its value DEFAULTS to 2.x.

  • The optional home and remote elements must be specified if the entity bean has a remote home and remote interface.

  • The optional local-home and local elements must be specified if the entity bean has a local home and local interface.

  • The optional query elements must be present if the persistence-type is Container and the cmp-version is 2.x and query methods other than findByPrimaryKey have been defined for the entity bean.

					
<!ELEMENT entity (description?, display-name?, small-icon?,
	large-icon?, ejb-name, home?, remote?, local-home?,
	local?, ejb-class, persistence-type, prim-key-class,
	reentrant, cmp-version?, abstract-schema-name?,
	cmp-field*, primkey-field?, env-entry*, ejb-ref*,
	ejb-local-ref*, security-role-ref*, security-identity?,
	resource-ref*, resource-env-ref*, query*)>
					
					
Mandatory elements are:
  • ejb-name 0

  • ejb-class

  • persistence-type

  • prim-key-class 1

  • reentrant

Example of Entity Bean deployment descriptor (with relationship):


<ejb-jar>
<enterprise-beans>
...
<entity>
	<ejb-name>ReservationEJB</ejb-name>
	<local-home>com.titan.reservation.ReservationHomeLocal</local-home>
	<local>com.titan.reservation.ReservationLocal</local>
	<ejb-class>com.titan.reservation.ReservationBean</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>Reservation</abstract-schema-name>
	<cmp-field><field-name>id</field-name></cmp-field>
	<cmp-field><field-name>amountPaid</field-name></cmp-field>
	<cmp-field><field-name>date</field-name></cmp-field>
	<primkey-field>id</primkey-field>
	<security-identity><use-caller-identity/></security-identity>
	<query>
		<query-method>
			<method-name>findWithPaymentGreaterThan</method-name>
			<method-params>
				<method-param>java.lang.Double</method-param>
			</method-params>
		</query-method>
		<ejb-ql>
			SELECT OBJECT( r ) FROM Reservation r
			WHERE r.amountPaid &gt; ?1
		</ejb-ql>
	</query>
</entity>
<entity>
	<ejb-name>CabinEJB</ejb-name>
	<local-home>com.titan.cabin.CabinHomeLocal</local-home>
	<local>com.titan.cabin.CabinLocal</local>
	<ejb-class>com.titan.cabin.CabinBean</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>Cabin</abstract-schema-name>
	<cmp-field><field-name>id</field-name></cmp-field>
	<cmp-field><field-name>name</field-name></cmp-field>
	<cmp-field><field-name>deckLevel</field-name></cmp-field>
	<cmp-field><field-name>bedCount</field-name></cmp-field>
	<primkey-field>id</primkey-field>
	<security-identity><use-caller-identity/></security-identity>
</entity>
...
</enterprise-beans>
<relationships>
	<ejb-relation>
		<ejb-relation-name>Cabin-Reservation</ejb-relation-name>
		<ejb-relationship-role>
			<ejb-relationship-role-name>
				Cabin-has-many-Reservations
			</ejb-relationship-role-name>
			<multiplicity>Many</multiplicity>
			<relationship-role-source>
				<ejb-name>CabinEJB</ejb-name>
			</relationship-role-source>
		</ejb-relationship-role>
		<ejb-relationship-role>
			<ejb-relationship-role-name>
				Reservation-has-many-Cabins
			</ejb-relationship-role-name>
			<multiplicity>Many</multiplicity>
			<relationship-role-source>
				<ejb-name>ReservationEJB</ejb-name>
			</relationship-role-source>
			<cmr-field>
				<cmr-field-name>cabins</cmr-field-name>
				<cmr-field-type>java.util.Set</cmr-field-type>
			</cmr-field>
		</ejb-relationship-role>
	</ejb-relation>
</relationships>
...
</ejb-jar>

					

Tutorials

  1. Appendix A. First Appendix
  2. Second Section
  3. Third Section
  4. Part II. Appendixes
  5. From a list, identify the responsibility of the bean provider and the responsibility of the container provider for a message-driven bean.
  6. Chapter 6. Component Contract for Container-Managed Persistence (CMP)
  7. Identify correct and incorrect statements or examples about persistent relationships, remove protocols, and about the abstract schema type of a CMP entity bean.
  8. Identify the interfaces and methods a CMP entity bean must and must not implement.
  9. Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ejb-name, abstract-schema-name, ejb-relation, ejb-relat
  10. Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).
  11. From a list, identify the purpose, behavior, and responsibilities of the bean provider for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbC
  12. Chapter 7. CMP Entity Bean Life Cycle
  13. Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment and relationship updating in a CMP bean.
  14. From a list, identify the responsibility of the container for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActi
  15. Given a code listing, determine whether it is a legal and appropriate way to programmatically access a caller's security context.
  16. Chapter 10. Message-Driven Bean Component Contract
  17. Identify correct and incorrect statements about the purpose and use of the deployment descriptor elements for environment entries, EJB references, and resource manager connection factory r
  18. Identify the use and the behavior of the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider.
  19. Chapter 12. Exceptions
  20. Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface (EJBLocalObject).
  21. Identify EJB 2.0 container requirements.
  22. Chapter 1. EJB Overview
  23. Identify correct and incorrect statements or examples about EJB programming restrictions.
  24. Chapter 9. EJB-QL
  25. Identify correct and incorrect statements or examples about the purpose and use of EJB QL.
  26. Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions.
  27. Identify correct and incorrect statements or examples about the client view of a entity bean's remote component interface (EJBObject).
  28. Given a list, identify which are requirements for an EJB-jar file.
  29. Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information.
  30. Chapter 2. Client View of a Session Bean
  31. Chapter 13. Enterprise Bean Environment
  32. Chapter 8. Entity Beans
  33. Identify the use, syntax, and behavior of, the following entity bean home method types, for Container-Managed Persistence (CMP); finder methods, create methods, remove methods, and home me
  34. Identify correct and incorrect statements or examples about an entity bean's primary key and object identity.
  35. Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation.
  36. Identify correct and incorrect statements or examples about application exceptions and system exceptions in entity beans, session beans, and message-driven beans.
  37. Given a particular method condition, identify the following: whether an exception will be thrown, the type of exception thrown, the container's action, and the client's view.
  38. Given a list of responsibilities related to exceptions, identify those which are the bean provider's, and those which are the responsibility of the container provider. Be prepared to recog
  39. SCBCD Study Guide
  40. Identify the use and behavior of the MessageDrivenContext interface methods.