Identify the interfaces and methods a CMP entity bean must and must not implement.

This page discusses - Identify the interfaces and methods a CMP entity bean must and must not implement.


 

Ads

Tutorials   
Chapter 5. Client View of an Entity Identify correct and incorrect statements about the Application Assembler's responsibilities, including the use of deployment descriptor elements related to transactions and the identifica Given a list of responsibilities, identify whose which are the Container's with respect to transactions, including the handling of getRollbackOnly, setRollbackOnly, getUserTransacti EJB Transactional Attributes Chapter 11. Transactions Given a list of scenarios, identify which will result in an ejbRemove method not being called on a bean instance. Given a list of responsibilities related to session beans, identify those which are the responsibility of the session bean provider and those which are the responsibility of the EJB contai Given a list of methods for a stateful or stateless session bean class, define which of the following operations can be performed from each of those methods: SessionContext interface metho Chapter 4. Session Bean Life Cycle Identify correct and incorrect statements or examples about the client view of a session bean's local and remote component interfaces. Identify the interface and method for each of the following: retrieve the session bean's remote home interface, retrieve the session bean's local component interface, determine if the sessio Match the correct description about purpose and function to which session bean type they apply: stateless, stateful, or both. Chapter 14. Security Management Given a security-related deployment descriptor tag, identify correct and incorrect statements and code related to that tag. Given a list of responsibilities, identify which belong to the deployer, bean provider, application assembler, container provider, system administrator, or any combination. From a list of responsibilities, identify which belong to the application assembler, bean provider, deployer, container provider, or system administrator. Part I. Exam Objectives Preface Identify the interfaces and methods a JMS message-driven bean must implement. Identify the use and behavior of the MessageDrivenContext interface methods. SCBCD Study Guide 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 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. Identify correct and incorrect statements or examples about application exceptions and system exceptions in entity beans, session beans, and message-driven beans. Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation. Identify correct and incorrect statements or examples about an entity bean's primary key and object identity. 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 Chapter 8. Entity Beans Chapter 13. Enterprise Bean Environment Chapter 2. Client View of a Session Bean Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information. Given a list, identify which are requirements for an EJB-jar file. Identify correct and incorrect statements or examples about the client view of a entity bean's remote component interface (EJBObject). Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions. Identify correct and incorrect statements or examples about the purpose and use of EJB QL. Chapter 9. EJB-QL Identify correct and incorrect statements or examples about EJB programming restrictions. Chapter 1. EJB Overview Identify EJB 2.0 container requirements. Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface (EJBLocalObject). Chapter 12. Exceptions 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. 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 Chapter 10. Message-Driven Bean Component Contract Given a code listing, determine whether it is a legal and appropriate way to programmatically access a caller's security context. From a list, identify the responsibility of the container for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActi Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment and relationship updating in a CMP bean. Chapter 7. CMP Entity Bean Life Cycle 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 Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).
Ads

Identify the interfaces and methods a CMP entity bean must and must not implement.

 

The following are the requirements for an entity bean class:

  • The class MUST implement, directly or indirectly, the javax.ejb.EntityBean interface.

    public interface EntityBean extends EnterpriseBean {
    	void ejbActivate() throws EJBException, RemoteException;
    	void ejbLoad() throws EJBException, RemoteException;
    	void ejbPassivate() throws EJBException, RemoteException;
    	void ejbRemove() throws RemoveException, EJBException, RemoteException;
    	void ejbStore() throws EJBException, RemoteException;
    	void setEntityContext(EntityContext ctx) throws EJBException, RemoteException;
    	void unsetEntityContext() throws EJBException, RemoteException;
    }
    
    public interface EnterpriseBean extends Serializable {
    }
    							
  • The class MUST be defined as public and MUST be abstract.

  • The class MUST define a public constructor that takes no arguments.

  • The class MUST NOT define the finalize() method.

  • The entity bean class MUST implement the BUSINESS methods, and the ejbCreate<METHOD> and ejbPostCreate<METHOD> methods.

  • The entity bean class MUST implement the ejbHome<METHOD> methods that correspond to the home business methods specified in the bean’s home interface. These methods are executed on an instance in the POOLED state; hence they MUST NOT access state that is particular to a specific bean instance (e.g., the accessor methods for the bean’s abstract persistence schema MUST NOT be used by these methods).

  • The entity bean class MUST implement the get and set accessor methods of the bean’s abstract persistence schema as abstract methods.

  • The entity bean class may have superclasses and/or superinterfaces. If the entity bean has superclasses, the business methods, the ejbCreate<METHOD> and ejbPostCreate<METHOD> methods, and the methods of the EntityBean interface may be implemented in the enterprise bean class or in any of its superclasses.

  • The entity bean class is allowed to implement other methods (for example helper methods invoked internally by the business methods) in addition to the methods required by the EJB specification.

  • The entity bean class DOES NOT implement the finder methods. The implementations of the finder methods are provided by the container.

  • The entity bean class MUST implement any ejbSelect<METHOD> methods as abstract methods.

The following are the requirements for a dependent value class:

  • The class MUST be defined as public and MUST NOT be abstract.

  • The class MUST be SERIALIZABLE.

The entity bean class MUST implement the ejbCreate<METHOD>(...) methods that correspond to the create<METHOD>(...) methods specified in the entity bean’s home interface.

The entity bean class may define ZERO or more ejbCreate<METHOD>(...) methods whose signatures must follow these rules:

  • The method name MUST have ejbCreate as its prefix.

  • The method MUST be declared as public.

  • The method MUST NOT be declared as final or static.

  • The return type must be the entity bean’s PRIMARY KEY type (NOTE, the return type of HOME's create(...) method is COMPONENT INTERFACE type).

  • If the ejbCreate<METHOD>(...) method corresponds to a create<METHOD>(...) on the entity bean’s remote home interface, the method arguments and return value types must be legal types for RMI-IIOP.

  • The throws clause MUST define the javax.ejb.CreateException. The throws clause may define arbitrary application specific exceptions.

For each ejbCreate<METHOD>(...) method, the entity bean class MUST define a matching ejbPostCreate<METHOD>(...) method, using the following rules:

  • The method name MUST have ejbPostCreate as its prefix.

  • The method MUST be declared as public.

  • The method MUST NOT be declared as final or static.

  • The return type MUST be void.

  • The method arguments MUST be the same as the arguments of the matching ejbCreate<METHOD>(...)method.

  • The throws clause may define arbitrary application specific exceptions (the javax.ejb.CreateException MAY be thrown, but it is NOT a MANDATORY).

The entity bean class may define ZERO or more HOME methods whose signatures must follow the following rules:

  • An ejbHome<METHOD>(...) method MUST exist for EVERY home <METHOD>(...) method on the entity bean’s remote home or local home interface. The method name MUST have ejbHome as its prefix followed by the name of the <METHOD> method in which the first character has been uppercased.

  • The method MUST be declared as public.

  • The method MUST NOT be declared as static.

  • If the ejbHome<METHOD>(...) method corresponds to a home <METHOD>(...) on the entity bean’s REMOTE home interface, the method argument and return value types MUST be legal types for RMI-IIOP.

  • The throws clause may define arbitrary application specific exceptions. The throws clause MUST NOT throw the java.rmi.RemoteException.

The entity bean class may define one or more SELECT methods whose signatures must follow the following rules:

  • The method name MUST have ejbSelect as its prefix.

  • The method MUST be declared as public.

  • The method MUST be declared as abstract.

  • The throws clause MUST define the javax.ejb.FinderException. The throws clause may define arbitrary application specific exceptions.

The entity bean class may define ZERO or more BUSINESS methods whose signatures must follow these rules:

  • The method names can be arbitrary, but they must not start with 'ejb' to avoid conflicts with the callback methods used by the EJB architecture.

  • The method MUST be declared as public.

  • The method MUST NOT be declared as final or static.

  • If the business method corresponds to a method of the entity bean’s REMOTE interface, the method argument and return value types MUST be legal types for RMI-IIOP.

  • The throws clause may define arbitrary application specific exceptions. The business methods of an entity bean with cmp-version 2.x MUST NOT throw the java.rmi.RemoteException.

public abstract class AddressBean implements javax.ejb.EntityBean {
	...
	public Integer ejbCreateAddress(String street, String city, 
			String state,  String zip) throws CreateException   {
		setId(..);
		setStreet(..);
		setCity(..);
		...
		return null; // for CMP 2.x !!!
	}

	public void ejbPostCreateAddress(String street, String city,
		String state,  String zip) {  
	}

	// persistent fields
	public abstract Integer getId();
	public abstract void setId(Integer id);
	public abstract String getStreet();
	public abstract void setStreet(String street);
	public abstract String getCity();
	public abstract void setCity(String city);

	// ejbSelect methods
	public abstract Collection ejbSelectZipCodes(String state)
		throws FinderException;

	public abstract Collection ejbSelectAll()
		throws FinderException;

	public abstract CustomerLocal ejbSelectCustomer(AddressLocal addr)
		throws FinderException;

	// customer home methods.  These are wrappers of ejbSelect methods
	public Collection ejbHomeQueryZipCodes(String state)
			throws FinderException   {
		return ejbSelectZipCodes(state);
	}

	public Collection ejbHomeQueryAll()
			throws FinderException   {
		return ejbSelectAll();
	}

	public CustomerLocal ejbHomeQueryCustomer(AddressLocal addr)
			throws FinderException   {
		return ejbSelectCustomer(addr);
	}

	// standard call back methods
	public void setEntityContext(EntityContext ec){}
	public void unsetEntityContext(){}
	public void ejbLoad(){}
	public void ejbStore(){}
	public void ejbActivate(){}
	public void ejbPassivate(){}
	public void ejbRemove(){}
}
					
					
<entity>
	<ejb-name>AddressEJB</ejb-name>
	...
	<prim-key-class>java.lang.Integer</prim-key-class>
	<reentrant>False</reentrant>
	<cmp-version>2.x</cmp-version>
	<abstract-schema-name>Address</abstract-schema-name> 
	<cmp-field><field-name>id</field-name></cmp-field>
	<cmp-field><field-name>street</field-name></cmp-field>
	...
	<primkey-field>id</primkey-field>
	<security-identity><use-caller-identity/></security-identity>
	<query>
		<query-method>
			<method-name>ejbSelectZipCodes</method-name>
			<method-params>
				<method-param>java.lang.String</method-param>
			</method-params>
		</query-method>
		<ejb-ql>
			SELECT a.zip FROM Address AS a
			WHERE a.state = ?1
		</ejb-ql>
	</query>
	<query>
		<query-method>
			<method-name>ejbSelectAll</method-name>
			<method-params/>
		</query-method>
		<ejb-ql>
			SELECT OBJECT(a) FROM Address AS a
		</ejb-ql>
	</query>
	...   
</entity>
					
					

Advertisements

Share on Google+Share on Google+

Identify the interfaces and methods a CMP entity bean must and must not implement.

Posted on: April 18, 2011 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

Ads
 

Discuss: Identify the interfaces and methods a CMP entity bean must and must not implement.  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0

Ads

 

Ads