users@javaee-spec.java.net

[javaee-spec users] [jsr366-experts] Re: default resources

From: Bill Shannon <bill.shannon_at_oracle.com>
Date: Wed, 26 Nov 2014 15:05:11 -0800

Based on our discussion, here's the changes we propose to make to the
platform spec as part of an errata for Java EE 7. This allows Options
B and D, and includes some other deployment-related clarifications.
Let me know if you have any concerns.


In EE.8.1.3, add new paragraphs:

Every reference to an external resource must be bound to a resource of
the required type that exists in the target operational environment.
The binding may be done using any product-specific mapping or binding
capability or rules. By default, if a required resource is not present
in the target operational environment, deployment must fail. A product
may provide an option that allows deployment to succeed even though
required resources are missing, although this is discouraged because it
can lead to unexpected runtime failures.

Some resources have default mapping rules specified; see sections
EE.5.19, EE.5.20, and EE.5.21. By default, a product must map otherwise
unmapped resources using these default rules. A product may include
an option to disable or override these default mapping rules.

Once a resource reference is bound to a resource in the target
operational environment, and deployment succeeds, that binding is not
expected to change. A product may provide administrative operations
that change the resource bindings that are used by applications.
A product may notify applications of changes to their resource bindings
using JNDI events, but this is not required.

If deployment succeeds, in addition to binding resource references
as specified above, every resource definition (see Section EE.5.18)
specified by the application must be present in the target operational
environment.


In EE.5.19, it says:

         In the absence of such a binding, the mapping of the reference
         will default to the product's default data source.

Change this to:

         In the absence of such a binding, or an equivalent
         product-specific binding, the mapping of the reference will
         default to the product's default data source.

Ditto EE.5.20 and EE.5.21.


In section EE.5.3.3, add to the end of the second paragraph:

         The Deployer may also use product-specific resource mapping
         tools, deployment descriptors, rules, or capabilities to
         bind resource reference entries to resources in the target
         operational environment.