Hi Bill,
Sorry to be a pain, but the more I look into this simple clarification,
the more questions I have... From looking at some old threads in the
users and expert group mailings [1], this alt-dd for the entire ear file
does sound to be a new requirement for Java EE 7 -- not just a
clarification. Regardless of whether it's new or a clarification, I'm
wondering about the location of this application alt-dd and how it relates
to a module's alt-dd. Currently, my understanding is that a module's
alt-dd location is somewhere within the EAR. If this application alt-dd
specifies some external location, are the module alt-dd's relative to this
external location? Or, are the module alt-dd's still a location within
the EAR? Basically, what is the relationship of the application alt-dd to
the module alt-dd specifications?
The spec is very light on the expected processing. Thanks for your help!
-- Kevin Sutter
[1]
https://java.net/projects/javaee-spec/lists/users/archive/2012-07/message/136
From: Bill Shannon <bill.shannon_at_oracle.com>
To: jsr342-experts_at_javaee-spec.java.net,
Date: 09/30/2013 06:13 PM
Subject: [jsr342-experts] Re: (Optional) external alt-dd
Yes, sorry, to be clear, the new requirement is that you be able to supply
an alt-dd for the entire ear file, which obviously has to be external to
that ear file. (We thought this was always required, but it was not clear
in the spec.) If you could change the ear file, you would just change the
internal deployment descriptor.
Item #6 was added to make it clear you have this new choice to use an
external alt-dd for the ear file.
Kevin Sutter wrote on 09/30/13 15:21:
Thanks, Bill, for the clarification. Looking at it from the app developer
or assembler viewpoint does help. But, I guess I'm still confused on why
this item #6 was added to this section. This item didn't exist in the
Java EE 6 spec. I know that the alt-dd is not a new concept, so I figured
maybe there was something special with the "external to the packaged
application" wording or meaning. Are you indicating that this item #6 was
added to just help clarify the app assembly steps? If so, I guess I was
just reading too much into the new line. Thanks for the help.
-- Kevin Sutter
From: Bill Shannon <bill.shannon_at_oracle.com>
To: jsr342-experts_at_javaee-spec.java.net,
Date: 09/30/2013 04:15 PM
Subject: [jsr342-experts] Re: (Optional) external alt-dd
Kevin Sutter wrote on 09/30/13 13:07:
Hi,
Why was item #6 in section EE.8.4.1 marked (Optional)?
6.(Optional) Create an alternate deployment descriptor (“alt-dd”) for the
application, external to the packaged application.
This was put in place before I came onboard to the Java EE expert group.
I've been looking through the archives (user and expert) and there isn't
much information that I can find on this topic. I can understand the
usefulness of separating the deployment descriptor from the application,
but why was the support for this external alt-dd documented as an optional
feature? This almost sounds like a pre-cursor to the Config JSR that is
in the works for post Java EE 7. Was this external alt-dd a step in that
direction? But, since we don't have a complete solution across the
technologies, this specific piece was marked optional? Just looking for
some history and justification. Thanks!
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Kevin Sutter
It's not an optional feature. What's optional is using that feature when
assembling an application. Section EE.8.4 is written from the perspective
of what an application developer or assembler would do.
I'm sure you understand that the purpose of an alternate deployment
descriptor is to allow you to modify the configuration of a module or an
application without changing the module or application package.