EJB.C.8 Changes Since EJB 1.1 Public Draft


Added the ejb-client -jar element to the deployment descriptor to allow the EJB JAR file producer to specify a JAR file that contains the classes necessary to access the enterprise beans in the EJB JAR file.

The value of the res-auth element was changed to Application (it was Bean ) to be consistent with the Java 2 Platform, Enterprise Edition Specification.

Changed the lexical rules for the env-entry-value element so that values of the type String need not be double-quoted in the deployment descriptor. See Section EJB.14.2.1.2.

Added the requirement for the container to provide the UserTransaction interface to the enterprise bean instances in the environment JNDI API context under the name java:comp/UserTransaction . See Section EJB.14.6.

Clarified that the container must never return a null from the getCallerPrincipal() method.

Allow the stateful session bean's ejbCreate , ejbRemove , ejbActivate , and ejbPassivate methods to access resource managers without transaction context. This was allowed in EJB 1.0.

Cleaned up the description of transactions. Removed the confusing term local transaction , and created the description of how a container may deal with the resource manager updates from a method that runs with an unspecified transaction context into Section EJB.11.6.3 (the term local transaction was used to refer to the cases that are now covered by this section).

Added an explanation of how ejbLoad and ejbStore work for entity bean instances that execute with an unspecified transaction context. See Section EJB.9.1.7.1.

Fixed the argument type of the isIdentical(EJBObject) method. The spec showed it incorrectly as java.lang.Object . The EJB class files and javadoc have always been correct.

Disallowed the use of UserTransaction in the setSessionContext method, as specified in Tables EJB.6-1 and EJB.6-2.

Specified which methods can be assigned a transaction attribute, and which methods can be included in method-permission elements.

Clarified in Section EJB.12.3.6 which "resources" the container is responsible for releasing when an instance is being discarded.

Augmented the restrictions on client's security context in Section EJB.15.5 to cover the case in which requests in the same transaction are received from multiple intermediate objects.

Moved the description of the "transaction diamond" scenario from Section EJB.9.1.13 to Section EJB.11.7. Described also the transaction diamond scenario for session beans.

Clarified the scope of the env-entry-name , ejb-ref-name , res-ref-name , security-role-ref , and role-name elements.

Specified that application exceptions must not be defined as a subclass of RuntimeException or RemoteException .

Clarified that the container-managed persistence fields must not be defined as transient .

Clarified in Section EJB.9.2.3 that the entity object created by the ejbCreate(...) method must have a unique primary key.

Clarified in Section EJB.6.8 how the container delegates requests to instances of a stateless session bean.

Added to Section EJB.18.1.2 the restriction that an enterprise bean must not pass this as a method argument or result.

In Section EJB.6.4.1 specified that the container must be able to preserve to an object reference of the UserTransaction interface across passivation. Same for the object references of enterprise beans' home interfaces.

Noted in Chapter EJB.11 that the transaction attributes may be specified by either the bean provider or the application assembler. The previous text suggested that only the application assembler was allowed to specify the transaction attributes.

Made the terminology more consistent throughout the specification. Used the terms session bean , session object , session bean instance , home interface , remote interface , session EJBObject , and session EJBHome consistently. Used similar terminology for the entity bean related terms. Note that we turned off the change bars while making this editorial cleanup.

Disallowed the use of the setRollbackOnly and getRollbackOnly method, the use of the UserTransaction interface, resource manager access, and enterprise bean access in the ejbCreate and ejbRemove methods of the stateless session bean (see Table EJB.6-2 on page 417). The container does not have a transaction context and client security context during the execution of these two operations of a stateless session bean.

Added support for referencing the deployment descriptor elements through XML IDs. The main reason for this is to make it easier for tools that want to pass additional non-standard deployment information for the enterprise beans. The tools should put the non-standard information into a separate file, and optionally make use of the ID mechanism to reference the information in the standard EJB deployment descriptor. Tools are not allowed to extend the format of the EJB deployment descriptor.

Made a minor change to the language in Section EJB.15.3.2 for the case that a method is not assigned to any security role.

Added a paragraph stating that the container should implement the object references of the home and remote interfaces of entity objects such that a client can use the references over a long period of time (Section EJB.9.3.9).



Java 2 Platform, Enterprise Edition. Platform and Component Specifications
Java 2 Platform, Enterprise Edition: Platform and Component Specifications
ISBN: 0201704560
EAN: 2147483647
Year: 2000
Pages: 399

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net